在我的项目的最初阶段,我对模型做了很多更改,因此我最终为我的应用程序生成了大量南迁移。是否有可能在进入我的生产服务器执行迁移之前以任何方式对它们进行整合,因此我不需要为每个应用程序进行百万次迁移?如果是这样,我会怎么做呢?巩固Django南迁移
6
A
回答
5
您可以随时删除现有的迁移和create a new "initial" migration。
要做到这一点,你将需要:
- (完全删除的文件夹)中删除迁移文件为您的应用程序
- 运行
./manage.py convert_to_south myapp
这将留给你一个迁移对应于您的应用的状态当前状态。
或者,你可以随时收拾最新的迁移在一起:
- 删除要合并(仅当它们是最新onces)迁移文件
- 运行
./manage.py schemamigration myapp
这将创建一个新的迁移,对应于您删除的迁移。
这两个都可能会搞乱你的开发数据库。
1
由于这是一个开发环境,这是我要做的事(使用SQLite,请参阅下面的其他SQL服务器):
- 是否所有的变化,让迁移文件堆积起来。没有提交 迁移文件VCS
- 完成后,删除所有的新移民文件
- 重命名数据库
- 运行manage.py迁移。这将创建数据库结构,就像在对其进行任何更改之前一样。
- 运行manage.py makemigrations。这将创建一个反映当前状态
- 搬回已经有使用“正确”的SQL服务器上的最终结构&数据
- 提交迁移文件
原始数据库必要的迁移,只是不停地2数据库:生产和开发。将项目设置更改为指向生产数据库,而不是在步骤3中重命名。此外,您可以跳过步骤4.
相关问题
- 1. 南Django的迁移
- 2. Django post_save和南迁移
- 3. Django 1.7 - 从南迁移
- 4. django南迁移问题
- 5. 和Django +向南迁移
- 6. Django 1.3和南迁移
- 7. 迁移数据的Django南
- 8. Django的南迁
- 9. Django,南,postgres最初的迁移错误
- 10. Django南迁移 - 添加FULLTEXT索引
- 11. Django数据迁移,使用南继承
- 12. django南错误迁移失败
- 13. django南迁移,没有设置默认
- 14. 使用django的外键迁移南
- 15. 架构迁移与南(Django的)和MySQL
- 16. 南迁移不更新psql表(django)
- 17. Django南迁移泄漏内存
- 18. 如何将多个django南迁移合并为一个迁移
- 19. 南迁移失败
- 20. 巩固党规
- 21. 巩固分类
- 22. 巩固回调
- 23. 巩固$ .ajax
- 24. 巩固记录
- 25. Django的核心迁移工具与南方的Django数据迁移
- 26. SQL巩固日期
- 27. 巩固CakePHP路线
- 28. 巩固foreach命令
- 29. 巩固jQuery代码
- 30. 巩固sed命令
因此底线是:否,最好让迁移自行生效? – hkothari
@hkothari这就是我要做的,是的! –
需要'manage.py migrate零--fake'来清除你的南数据库(在convert_to_south或'manage.py schemamigration --initial'之前。或者,'--delete-ghost-migrations'将有选择地删除您从migrations目录中删除的任何迁移 –
hobs