参数化django的迁移被跳过( - 以编程方式)

时间:2016-12-30 15:44:05

标签: python django python-2.7 migration django-migrations

Django 1.9为我准备了这个迁移(sqlmigrate输出):

ALTER TABLE `order` DROP FOREIGN KEY `order_manager_id_refs_id_2c366637`;
ALTER TABLE `order` ADD CONSTRAINT `order_order_manager_id_20bba80d_fk_auth_user_id` FOREIGN KEY (`order_manager_id`) REFERENCES `auth_user` (`id`);

它只是删除并添加相同的东西。 我刚刚删除了默认值,但是

根据django docs Django从不设置数据库默认值并始终将它们应用于Django ORM代码中,所以

如何将此迁移参数化为刚刚标记为已完成且无法对数据库执行任何操作?实际上我需要在迁移代码/文件中放置--fake参数。

1 个答案:

答案 0 :(得分:1)

您可以将其作为fake migration运行,它将跳过任何SQL迁移操作,并将在django_migrations中写为已完成:

manage.py migrate your_migration_name.py --fake