使用South,Django和Git时,处理数据库迁移的正确方法是什么?

Aka*_*007 12 git django database-migration django-models django-south

背景 :-

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

问题:-

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

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

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

Ber*_*ant 21

您应该将迁移文件夹添加到版本控制系统,并使用相同的文件进行生产和开发.如果您从一开始就介绍了迁移并且已经存在表,则可能会在生产系统上遇到一些问题.

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