在我的 django 项目中,我有一个处理两个模型(两个 mysql 表)的应用程序,我注意到我最好用以前的模型创建一个新应用程序。所以问题是:我怎么能用南做呢?鉴于我知道另一种没有南方的方法,其中包括创建一个新应用程序 syncdb,然后使用 shell/python 脚本将数据从旧表移动到新表,最后删除旧表。但我想成为一个绅士和时尚的人:D
提前致谢
在我的 django 项目中,我有一个处理两个模型(两个 mysql 表)的应用程序,我注意到我最好用以前的模型创建一个新应用程序。所以问题是:我怎么能用南做呢?鉴于我知道另一种没有南方的方法,其中包括创建一个新应用程序 syncdb,然后使用 shell/python 脚本将数据从旧表移动到新表,最后删除旧表。但我想成为一个绅士和时尚的人:D
提前致谢
基本上你会做你描述的南方迁移。
schemamigration <new_app_name> --initial
创建数据迁移以将数据从一个应用程序复制到另一个应用程序
datamigration <new_app_name> <migration_name>
您需要修改在.forward()
.backward()
方法中创建的文件以定义您希望如何移动数据
在初始应用程序上创建模式迁移以删除表
schemamigration <original_app_name> -auto
由于您需要数据存在于原始应用程序中,因此在调用迁移时先应用新应用程序,然后再应用原始应用程序。