我在开发期间进行了模型迁移。现在生产数据库无法检测到更改

时间:2019-03-12 03:39:55

标签: django migration

因此,我对一些模型进行了一些更改,然后进行了移植,以确保所有内容都在本地运行。本地数据库是SQLite

然后我推到github,然后将其拉到我的Digital Ocean VPS上。使用Postgresql的VPS

然后我尝试运行makemigrations,但没有检测到任何更改。 尽管所有文件都显示了新的更改。

我是否在本地进行迁移而搞砸了? 我该如何解决?

1 个答案:

答案 0 :(得分:1)

由于您已经在本地进行了迁移,并已推送到生产环境。。由于您没有更改模型,所以makemigrations无法检测到更改。 但是,如果您在生产中更改模型字段并尝试进行makemigrations,它将检测到更改。

@rudrra所述,最佳做法是不在服务器中运行makemigrations。此外,始终仅在生产文件中更改环境变量。

但是如果您需要更改生产文件中的模型字段,请务必将生产文件拉到本地。(更新本地文件)

docs中有关迁移的信息

  • 迁移,它负责应用和不应用迁移。
  • makemigrations ,它负责根据对模型所做的更改来创建新的迁移。