Django跳过新的数据库模式的长迁移历史记录

时间:2018-02-18 13:37:53

标签: django postgresql database-schema multi-tenant django-migrations

Django使用django-tenant-schemas 我的项目需要创建运行时租户(postgres架构创建),但由于django迁移历史很长,新架构的迁移需要> 10分钟这太长了。

因此需要一种方法来跳过迁移,但会使DB处于正确的状态。

阅读What should I use instead of syncdb in Django 1.9?https://docs.djangoproject.com/en/2.0/ref/django-admin/#cmdoption-migrate-run-syncdb

......似乎以下可能是一个解决方案:

$scope.$on('$viewContentLoaded', function(){
    $('.datepicker').pickadate();
    $('.timepicker').pickatime();
});

但这会带来什么后果? 这是否意味着新架构无法进行向后迁移? (在这个项目中没问题,因为新模式无论如何都没有历史记录)

是否还意味着未来的迁移无法应用,因为没有正确的迁移历史记录?那显然是不行的。

FYI版本信息:

python manage.py migrate auth
# performs migrations for auth and contenttypes contrib apps
python manage.py migrate --run-syncdb
# creates the rest of the database

1 个答案:

答案 0 :(得分:0)

如果您没有data migrations

使用python manage.py migrate --run-syncdb并伪造迁移应用程序应该是很好的python manage.py migrate --fake

可以帮助您降低迁移次数的其他功能是将squash migrations改为单一