所以我有这个django安装,其中有一堆迁移脚本.他们看起来像这样:
00001_initial.py 00002_blah_blah.py 00003_bleh_bleh.py
现在我知道这些是"数据库构建"脚本,它将获取定义的内容models.py
并对db运行它们以"创建"表和内容.
我想创建一个新表(所以我在models.py中创建了它的定义).为此,我复制了另一个模型类并编辑了它的名称和字段,一切都很好.让我们称这个新的模型类'繁荣'.
我现在的问题是如何使用迁移脚本和繁荣模型"创建"此繁荣表?
我担心我可能会意外地破坏已经存在于DB中的任何内容.如何运行迁移以仅创建热表?如何专门为其创建迁移脚本?
我知道它与某些事情有关manage.py
并且正在运行migrate
或runmigration
(或者是它sqlmigrate
?...我很困惑).在创建繁荣表时,如果你知道我的意思,我不希望数据库出现繁荣
首先,创建数据库的备份.将其复制到您的开发机器.尝试一下.这样,如果由于某种原因它确实"繁荣"并不重要.
首先要做的是
python manage.py showmigrations
这显示了所有现有的迁移,并且应该显示它们已应用了[X]
.
然后,
python manage.py makemigrations
为新模型创建新的迁移文件(名称00004 _...).
然后做
python manage.py migrate
申请.要撤消它,请返回到迁移00003的状态
python manage.py migrate00003