- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 South 来管理我的开发和生产环境中的模式和数据迁移。因此,我将迁移保存在我的 git 存储库中,这样我在开发中所做的更改就会在生产中正确迁移。
我正在开发的应用程序和项目目前是私有(private)的,仅由我开发。在某个时候,我想发布/分发我的应用程序。我假设到那时,我将有一个“最终”模式,因此不会“需要”南方。由于这些应用程序以前没有分发过(我的环境除外),公共(public)版本不需要我在开发应用程序时使用的迁移。
我有两个问题:
根据我的假设删除或至少“清理”迁移是否好(或可接受)?
谢谢,
最佳答案
对于处理 South 和版本控制的人来说,这是一个常见的混淆点。当然,您应该为您的项目提交迁移,因为其他人将需要自己运行相同的迁移。但是,您应该在提交之前清理您的迁移,这实际上看似简单。
如果它是一个全新的应用程序或一个全新的项目:
将应用回滚到“零”:
python manage.py migrate myapp zero
删除应用程序的所有迁移(“迁移”目录中除 __init__.py
之外的所有内容)。
生成新的初始迁移:
python manage.py schemamigration --initial myapp
如果它是一个现有的应用程序,则过程大致相同,但您只会回滚到就在您创建的第一个新迁移之前。然后,您将简单地生成一个新的自动迁移而不是初始迁移。例如,如果应用程序已经处于迁移 0005,而您创建了迁移 0006、0007 和 0008:
回滚到您创建的第一个迁移之前 (0006):
python manage.py migrate myapp 0005
删除您创建的所有新迁移(0006、0007 和 0008)
生成新的自动迁移:
python manage.py schemamigration --auto myapp
无论哪种方式,您最终都会得到一个封装所有更改的文件,而不是多个文件。然后,您将它提交给您的源代码管理。
关于django - 如何从公共(public)存储库中排除南方迁移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12569191/
我想创建一个表,然后创建一个应该插入到该表中的数据列表。南方有能力做这样的事吗?如果是这样,您是否有任何引用可以告诉我如何做到这一点? 我希望能够做到这一点,因为在这一点上,获得“完全”相同数据的唯一
我是一名优秀的程序员,十分优秀!