12

背景 :-

我正在使用 Django 1.3。我们使用 South 作为数据库迁移和 Git SCM 的模块。

问题:-

处理形成的迁移文件夹的正确方法是什么?

主要问题是我在开发机器中对数​​据库模式进行了更改,当我将其上传到生产服务器时,我必须迁移现有模式。这样做时,迁移文件总是存在一些问题。

我应该将迁移文件夹添加到 gitignore 吗?或者有更好的方法吗?

4

1 回答 1

21

您应该将迁移文件夹添加到版本控制系统中,并将相同的文件用于生产和开发。如果您不是从一开始就引入了迁移并且您已经拥有现有的表,那么您可能会在生产系统上遇到一些问题。

因此,您必须伪造syncdb第一次迁移,这通常与您第一次创建数据库时所做的相同。因此,当您第一次尝试在生产机器上为您的应用应用迁移时,请执行manage.py migrate app_name 0001 --fake. 这让 South 知道,第一次迁移已经被应用(这已经发生在 syncdb 中),当您migrate再次运行时,它将继续执行以下迁移。

于 2012-04-10T08:39:24.990 回答