django南迁移:仅重置少数表的模式
我是新的django南迁。我有我的主应用程序和该应用程序的大部分附加功能,我是作为主应用程序的子应用程序构建的。现在我要做的是重置特定于主应用程序的子应用程序的表。我不想从其他表中丢失任何数据 这就是我的数据库的外观:django南迁移:仅重置少数表的模式,django,django-south,Django,Django South,我是新的django南迁。我有我的主应用程序和该应用程序的大部分附加功能,我是作为主应用程序的子应用程序构建的。现在我要做的是重置特定于主应用程序的子应用程序的表。我不想从其他表中丢失任何数据 这就是我的数据库的外观: public | tos_agreement | table | g_db_admin public | tos_agreementversion | table | g_db_admin publi
public | tos_agreement | table | g_db_admin
public | tos_agreementversion | table | g_db_admin
public | tos_signature | table | g_db_admin
public | userclickstream_click | table | g_db_admin
public | userclickstream_stream | table | g_db_admin
public | vote | table | g_db_admin
(80 rows)
我只想重新构建(转储的所有数据)public | userclickstream | click | table | g | u db | u admin 公共|用户点击流|表| g|U数据库|管理 我如何使用南方迁移来实现这一点 在我的south_migrationhistory表中,我有以下内容:
15 | userclickstream | 0001_initial | 2013-12-10 13:26:15.684678-06
16 | userclickstream | 0002_auto__del_field_stream_auth_user | 2013-12-10 13:26:15.693485-06
17 | userclickstream | 0003_auto__del_field_stream_username__add_field_stream_user | 2013-12-10 13:26:15.721449-06
我想这个记录是在我最初与南方移民联系起来的时候发生的
我也在想如果?
从south_migrationhistory中删除上述记录,并重新运行此应用程序的迁移,该应用程序将生成表
./manage.py schemamigration userclickstream --initial
./manage.py migrate userclickstream
这样做:
manage.py dumpdata>backup.json
。它将使用数据库中当前的所有数据创建一个json fixture。这样,如果你搞砸了什么,你总是可以用manage.py loaddata backup.json
重新加载数据(注意,所有表都需要为空才能工作)loaddata
命令将数据传递给新的开发数据库这不是一个编码为“这是解决方案”的答案,但我希望这有助于编写您自己的迁移?如果我重新初始化或删除这两个表,在south migration中删除记录,会怎么样?因为我觉得有一种更简单的方法可以创建这样一个简单的脚本。再来一次?我想我不明白你在问什么我已经编辑了这个问题,我希望其他人有更好的答案。如果你只需要删除几个表,你可以通过SQL来完成。重新初始化并不是一个好主意,因为您可能会在应用程序的其他部分遇到奇怪的错误,您希望保持相同的状态,但需要重新创建这些表。此外,此应用程序是主应用程序的子应用程序。