diff --git a/alembic/versions/2023-10-04-14.29.26_dded3119c1fe_added_unique_constraints.py b/alembic/versions/2023-10-04-14.29.26_dded3119c1fe_added_unique_constraints.py index 885e619f8199..67c648028d75 100644 --- a/alembic/versions/2023-10-04-14.29.26_dded3119c1fe_added_unique_constraints.py +++ b/alembic/versions/2023-10-04-14.29.26_dded3119c1fe_added_unique_constraints.py @@ -69,9 +69,11 @@ def _resolve_duplicate_food( ): recipe_ingredient.food_id = keep_food_id + session.commit() session.execute( sa.text(f"DELETE FROM {IngredientFoodModel.__tablename__} WHERE id=:id").bindparams(id=dupe_food_id) ) + session.commit() def _resolve_duplicate_unit( @@ -85,9 +87,11 @@ def _resolve_duplicate_unit( for recipe_ingredient in session.query(RecipeIngredientModel).filter_by(unit_id=dupe_unit_id).all(): recipe_ingredient.unit_id = keep_unit_id + session.commit() session.execute( sa.text(f"DELETE FROM {IngredientUnitModel.__tablename__} WHERE id=:id").bindparams(id=dupe_unit_id) ) + session.commit() def _resolve_duplicate_label( @@ -101,7 +105,9 @@ def _resolve_duplicate_label( for ingredient_food in session.query(IngredientFoodModel).filter_by(label_id=dupe_label_id).all(): ingredient_food.label_id = keep_label_id + session.commit() session.execute(sa.text(f"DELETE FROM {MultiPurposeLabel.__tablename__} WHERE id=:id").bindparams(id=dupe_label_id)) + session.commit() def _resolve_duplicate_foods_units_labels(session: Session): @@ -140,6 +146,7 @@ def _remove_duplicates_from_m2m_table(session: Session, table_meta: TableMeta): ) session.execute(query) + session.commit() def _remove_duplicates_from_m2m_tables(session: Session, table_metas: list[TableMeta]): diff --git a/tests/data/__init__.py b/tests/data/__init__.py index d24a7f9509d5..4a3290ac5d42 100644 --- a/tests/data/__init__.py +++ b/tests/data/__init__.py @@ -4,13 +4,16 @@ CWD = Path(__file__).parent locale_dir = CWD / "locale" -backup_version_44e8d670719d = CWD / "backups/backup_version_44e8d670719d.zip" +backup_version_44e8d670719d_1 = CWD / "backups/backup_version_44e8d670719d_1.zip" """44e8d670719d: add extras to shopping lists, list items, and ingredient foods""" -backup_version_ba1e4a6cfe99 = CWD / "backups/backup_version_ba1e4a6cfe99.zip" +backup_version_44e8d670719d_2 = CWD / "backups/backup_version_44e8d670719d_2.zip" +"""44e8d670719d: add extras to shopping lists, list items, and ingredient foods""" + +backup_version_ba1e4a6cfe99_1 = CWD / "backups/backup_version_ba1e4a6cfe99_1.zip" """ba1e4a6cfe99: added plural names and alias tables for foods and units""" -backup_version_bcfdad6b7355 = CWD / "backups/backup_version_bcfdad6b7355.zip" +backup_version_bcfdad6b7355_1 = CWD / "backups/backup_version_bcfdad6b7355_1.zip" """bcfdad6b7355: remove tool name and slug unique contraints""" migrations_paprika = CWD / "migrations/paprika.zip" diff --git a/tests/data/backups/backup_version_44e8d670719d.zip b/tests/data/backups/backup_version_44e8d670719d_1.zip similarity index 100% rename from tests/data/backups/backup_version_44e8d670719d.zip rename to tests/data/backups/backup_version_44e8d670719d_1.zip diff --git a/tests/data/backups/backup_version_44e8d670719d_2.zip b/tests/data/backups/backup_version_44e8d670719d_2.zip new file mode 100644 index 000000000000..32ff6dfe5293 Binary files /dev/null and b/tests/data/backups/backup_version_44e8d670719d_2.zip differ diff --git a/tests/data/backups/backup_version_ba1e4a6cfe99.zip b/tests/data/backups/backup_version_ba1e4a6cfe99_1.zip similarity index 100% rename from tests/data/backups/backup_version_ba1e4a6cfe99.zip rename to tests/data/backups/backup_version_ba1e4a6cfe99_1.zip diff --git a/tests/data/backups/backup_version_bcfdad6b7355.zip b/tests/data/backups/backup_version_bcfdad6b7355_1.zip similarity index 100% rename from tests/data/backups/backup_version_bcfdad6b7355.zip rename to tests/data/backups/backup_version_bcfdad6b7355_1.zip diff --git a/tests/unit_tests/services_tests/backup_v2_tests/test_backup_v2.py b/tests/unit_tests/services_tests/backup_v2_tests/test_backup_v2.py index 453755246d61..1451f482c22f 100644 --- a/tests/unit_tests/services_tests/backup_v2_tests/test_backup_v2.py +++ b/tests/unit_tests/services_tests/backup_v2_tests/test_backup_v2.py @@ -71,14 +71,16 @@ def test_database_restore(): @pytest.mark.parametrize( "backup_path", [ - test_data.backup_version_44e8d670719d, - test_data.backup_version_ba1e4a6cfe99, - test_data.backup_version_bcfdad6b7355, + test_data.backup_version_44e8d670719d_1, + test_data.backup_version_44e8d670719d_2, + test_data.backup_version_ba1e4a6cfe99_1, + test_data.backup_version_bcfdad6b7355_1, ], ids=[ - "44e8d670719d: add extras to shopping lists, list items, and ingredient foods", - "ba1e4a6cfe99: added plural names and alias tables for foods and units", - "bcfdad6b7355: remove tool name and slug unique contraints", + "44e8d670719d_1: add extras to shopping lists, list items, and ingredient foods", + "44e8d670719d_2: add extras to shopping lists, list items, and ingredient foods", + "ba1e4a6cfe99_1: added plural names and alias tables for foods and units", + "bcfdad6b7355_1: remove tool name and slug unique contraints", ], ) def test_database_restore_data(backup_path: Path):