【发布时间】:2012-05-16 08:53:24
【问题描述】:
我有一个执行syncdb 和migrate 的bootstrap 脚本:
import settings
from django.core.management import setup_environ, call_command
setup_environ(settings) # Setting up the env settings
call_command('syncdb', migrate=True, interactive=False) # Sync the database
先决条件:
-
django-south用于迁移。
过程发生:
-
initial_data夹具包含由迁移创建的模型的数据。 -
执行
syncdb会创建所有表,但存在迁移的应用除外。 - 发布
syncdb它会尝试加载initial_data并引发错误 of db not found,因为带有迁移的应用程序表不是由syncdb 创建的。 [问题] - 然后它执行创建数据库的迁移。
- 发
migration这次会自动加载initial_data成功。
问题:
- 当
error尝试为尚未创建的表加载夹具时,我该如何摆脱它? - 我能否编辑上述脚本,使其仅在执行
migration后才加载initial_data?
【问题讨论】:
-
我猜这就是南不属于 django 的原因之一 :)
-
看起来像......但如果是这样的话,那么这个问题就会首先得到解决。
标签: python django migration fixtures django-syncdb