gitextract_4w34wnk2/ ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ └── bug_report.md │ └── workflows/ │ ├── check.yml │ └── publish.yml ├── .gitignore ├── .pre-commit-config.yaml ├── AUTHORS ├── CHANGES.md ├── Dockerfile ├── LICENSE ├── MANIFEST.in ├── README.md ├── django_zero_downtime_migrations/ │ ├── __init__.py │ └── backends/ │ ├── __init__.py │ ├── postgis/ │ │ ├── __init__.py │ │ ├── base.py │ │ └── schema.py │ └── postgres/ │ ├── __init__.py │ ├── base.py │ └── schema.py ├── docker-compose.yml ├── docker_postgres_init.sql ├── manage.py ├── setup.cfg ├── setup.py ├── tests/ │ ├── __init__.py │ ├── apps/ │ │ ├── __init__.py │ │ ├── bad_flow_add_column_with_default_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_add_field_default.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── bad_flow_add_column_with_notnull_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_add_field_notnull.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── bad_flow_add_column_with_notnull_default_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_add_field_notnull_default.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── bad_flow_change_char_type_that_unsafe_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_change_type_from_char120_to_char100.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── bad_rollback_flow_change_char_type_that_safe_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_change_type_safe_from_char100_to_char120.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── bad_rollback_flow_drop_column_with_notnull_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_drop_field_not_null.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── bad_rollback_flow_drop_column_with_notnull_default_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_drop_field_not_null_default.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── decimal_to_float_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_type_conversion.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── good_flow_alter_table_with_same_db_table/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_rename_model.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── good_flow_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_add_nullable_field.py │ │ │ │ ├── 0003_set_field_default.py │ │ │ │ ├── 0004_set_field_not_null.py │ │ │ │ ├── 0005_drop_field_not_null.py │ │ │ │ ├── 0006_drop_field_default.py │ │ │ │ ├── 0007_drop_field.py │ │ │ │ ├── 0008_add_field_with_check_constraint.py │ │ │ │ ├── 0009_drop_field_with_check_constraint.py │ │ │ │ ├── 0010_add_field_with_foreign_key.py │ │ │ │ ├── 0011_drop_field_with_foreign_key.py │ │ │ │ ├── 0012_add_field_with_unique_constraint.py │ │ │ │ ├── 0013_drop_field_with_unique_constraint.py │ │ │ │ ├── 0014_add_field_with_index.py │ │ │ │ ├── 0015_drop_field_with_index.py │ │ │ │ ├── 0016_add_check_constraint.py │ │ │ │ ├── 0017_drop_check_constraint.py │ │ │ │ ├── 0018_add_unique_constraint.py │ │ │ │ ├── 0019_drop_unique_constraint.py │ │ │ │ ├── 0020_add_unique_constraint_with_condition.py │ │ │ │ ├── 0021_drop_unique_constraint_with_condition.py │ │ │ │ ├── 0022_add_index.py │ │ │ │ ├── 0023_drop_index.py │ │ │ │ ├── 0024_add_index_with_condition.py │ │ │ │ ├── 0025_drop_index_with_condition.py │ │ │ │ ├── 0026_add_brin_index.py │ │ │ │ ├── 0027_drop_brin_index.py │ │ │ │ ├── 0028_add_brin_index_with_condition.py │ │ │ │ ├── 0029_drop_brin_index_with_condition.py │ │ │ │ ├── 0030_add_btree_index.py │ │ │ │ ├── 0031_drop_btree_index.py │ │ │ │ ├── 0032_add_btree_index_with_condition.py │ │ │ │ ├── 0033_drop_btree_index_with_condition.py │ │ │ │ ├── 0034_add_gin_index.py │ │ │ │ ├── 0035_drop_gin_index.py │ │ │ │ ├── 0036_add_gin_index_with_condition.py │ │ │ │ ├── 0037_drop_gin_index_with_condition.py │ │ │ │ ├── 0038_add_gist_index.py │ │ │ │ ├── 0039_drop_gist_index.py │ │ │ │ ├── 0040_add_gist_index_with_condition.py │ │ │ │ ├── 0041_drop_gist_index_with_condition.py │ │ │ │ ├── 0042_add_hash_index.py │ │ │ │ ├── 0043_drop_hash_index.py │ │ │ │ ├── 0044_add_hash_index_with_condition.py │ │ │ │ ├── 0045_drop_hash_index_with_condition.py │ │ │ │ ├── 0046_add_spgist_index.py │ │ │ │ ├── 0047_drop_spgist_index.py │ │ │ │ ├── 0048_add_spgist_index_with_condition.py │ │ │ │ ├── 0049_drop_spgist_index_with_condition.py │ │ │ │ ├── 0050_add_unique_constraint_deferrable.py │ │ │ │ ├── 0051_drop_unique_constraint_deferrable.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── good_flow_app_concurrently/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_auto_20191210_2147.py │ │ │ │ ├── 0003_auto_20191210_2148.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── good_flow_drop_column_with_constraints/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_remove_testtablemain_drop_col_u1_and_more.py │ │ │ │ ├── 0003_remove_testtablemain_field_i7.py │ │ │ │ ├── 0004_remove_testtablemain_field_i6.py │ │ │ │ ├── 0005_remove_testtablemain_field_i5.py │ │ │ │ ├── 0006_remove_testtablemain_field_i4.py │ │ │ │ ├── 0007_remove_testtablemain_field_i3.py │ │ │ │ ├── 0008_remove_testtablemain_field_i2.py │ │ │ │ ├── 0009_remove_testtablemain_field_i1.py │ │ │ │ ├── 0010_remove_testtablemain_field_u7.py │ │ │ │ ├── 0011_remove_testtablemain_field_u6.py │ │ │ │ ├── 0012_remove_testtablemain_field_u5.py │ │ │ │ ├── 0013_remove_testtablemain_field_u4.py │ │ │ │ ├── 0014_remove_testtablemain_field_u3.py │ │ │ │ ├── 0015_remove_testtablemain_field_u2.py │ │ │ │ ├── 0016_remove_testtablemain_field_u1.py │ │ │ │ ├── 0017_remove_testtablemain_main_id.py │ │ │ │ ├── 0018_remove_testtablemain_parent.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── good_flow_drop_column_with_constraints_old/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_remove_testtablemain_drop_col_u2_and_more.py │ │ │ │ ├── 0003_remove_testtablemain_field_i7.py │ │ │ │ ├── 0004_remove_testtablemain_field_i6.py │ │ │ │ ├── 0005_remove_testtablemain_field_i5.py │ │ │ │ ├── 0006_remove_testtablemain_field_i4.py │ │ │ │ ├── 0007_remove_testtablemain_field_i3.py │ │ │ │ ├── 0008_remove_testtablemain_field_i2.py │ │ │ │ ├── 0009_remove_testtablemain_field_i1.py │ │ │ │ ├── 0010_remove_testtablemain_field_u7.py │ │ │ │ ├── 0011_remove_testtablemain_field_u5.py │ │ │ │ ├── 0012_remove_testtablemain_field_u2.py │ │ │ │ ├── 0013_remove_testtablemain_main_id.py │ │ │ │ ├── 0014_remove_testtablemain_parent.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── good_flow_drop_table_with_constraints/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_remove_testtablechild_main.py │ │ │ │ ├── 0003_delete_testtablemain.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_add_auto_field_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_alter_relatedtesttable_test_field_int.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_add_check_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_relatedtesttable_idempotency_add_check_app_relatedtesttable_check.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_add_column_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_relatedtesttable_test_field_str.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_add_column_foreign_key_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_relatedtesttable_test_model.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_add_column_one_to_one_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_relatedtesttable_test_model.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_add_foreign_key_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_alter_relatedtesttable_test_field_int.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_add_index_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_alter_relatedtesttable_test_field_int.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_add_index_meta_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_relatedtesttable_relatedtesttable_idx.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_add_one_to_one_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_alter_relatedtesttable_test_field_int.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_add_primary_key_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_remove_relatedtesttable_id_and_more.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_add_unique_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_alter_relatedtesttable_test_field_int.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_add_unique_meta_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_relatedtesttable_relatedtesttable_uniq.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_create_table_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_relatedtesttable_and_more.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── idempotency_set_not_null_app/ │ │ │ ├── __init__.py │ │ │ ├── migrations/ │ │ │ │ ├── 0001_initial.py │ │ │ │ ├── 0002_alter_relatedtesttable_test_field_int.py │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ └── old_notnull_check_constraint_migration_app/ │ │ ├── __init__.py │ │ ├── migrations/ │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ └── models.py │ ├── integration/ │ │ ├── __init__.py │ │ └── test_migrations.py │ ├── settings.py │ ├── settings_make_migrations.py │ └── unit/ │ ├── __init__.py │ └── test_schema.py └── tox.ini