我是新的django南迁。我有我的主应用程序和该应用程序的大多数附加功能,我构建为主应用程序的子应用程序。现在我想要做的是重置特定于主应用程序的子应用程序的表。我不想从其他表表中删除任何数据。
这就是我的数据库的样子:
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)
我只想重新构建(转储所有数据)
公众| userclickstream_click |表| g_db_admin
公众| userclickstream_stream |表| g_db_admin
如何使用南迁移来实现此目的。
在我的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
答案 0 :(得分:1)
这样做:
manage.py dumpdata > backup.json
。它将创建一个json fixture,其中包含当前数据库中的所有数据。这样,如果您搞砸了任何东西,您总是可以使用manage.py loaddata backup.json
重新加载数据(请注意,所有表格都必须为空才能使其生效)。loaddata
命令将数据传递到新的开发数据库这不是一个编码的“这是解决方案”的答案,但我希望这有助于