migration_utils.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:django-zerodowntime 作者: rentlytics 项目源码 文件源码
def find_unsafe_migrations(connection):
    loader = MigrationLoader(connection)

    disk_migrations = set(loader.disk_migrations.keys())
    new_migrations = disk_migrations.difference(loader.applied_migrations)

    unsafe_migrations = []
    for app_name, migration_name in new_migrations:
        migration = loader.get_migration(app_name, migration_name)
        project_state = loader.project_state((app_name, migration_name), at_end=False)

        result = analyze_migration(connection, migration, project_state)
        if result:
            unsafe_migrations.append(result)

    unsafe_migrations = sorted(unsafe_migrations, key=operator.attrgetter('app_name', 'migration_name'))

    conflicts = loader.detect_conflicts()

    for app, names in conflicts.items():
        unsafe_migrations.append(MigrationConflict(app_name=app, migration_names=names))

    return unsafe_migrations
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号