"""Common operations for art_relations model testing.""" from typing import Any from sqlalchemy.sql.expression import text from assets.connectors.mysql import ar_db_session def truncate_legacy_image_assets_table() -> None: """Truncate image_assets table.""" with ar_db_session(turn_off_foreign_key_checks=True) as session: session.execute(text("TRUNCATE TABLE image_assets;")) def populate_table(table_name: str, rows: list[dict[str, Any]]) -> None: """POPULATE table in art_relations session.""" with ar_db_session(turn_off_foreign_key_checks=True) as session: for row in rows: columns = ", ".join(row.keys()) values = ", ".join([":%s" % key for key in row.keys()]) statement = "INSERT INTO {} ( {} ) VALUES ( {} );".format( table_name, columns, values ) session.execute(text(statement), row)