Spaces:
Running
Running
| from sqlalchemy.engine.reflection import Inspector | |
| def table_exists(name, conn): | |
| """Check if a table exists. | |
| Parameters: | |
| name (str): The name of the table to check. | |
| conn (sqlalchemy.engine.Engine or sqlalchemy.engine.Connection): The SQLAlchemy engine or connection to use. | |
| Returns: | |
| bool: True if the table exists, False otherwise. | |
| """ | |
| inspector = Inspector.from_engine(conn) | |
| return name in inspector.get_table_names() | |
| def column_exists(table_name, column_name, conn): | |
| """Check if a column exists in a table. | |
| Parameters: | |
| table_name (str): The name of the table to check. | |
| column_name (str): The name of the column to check. | |
| conn (sqlalchemy.engine.Engine or sqlalchemy.engine.Connection): The SQLAlchemy engine or connection to use. | |
| Returns: | |
| bool: True if the column exists, False otherwise. | |
| """ | |
| inspector = Inspector.from_engine(conn) | |
| return column_name in [column["name"] for column in inspector.get_columns(table_name)] | |
| def foreign_key_exists(table_name, fk_name, conn): | |
| """Check if a foreign key exists in a table. | |
| Parameters: | |
| table_name (str): The name of the table to check. | |
| fk_name (str): The name of the foreign key to check. | |
| conn (sqlalchemy.engine.Engine or sqlalchemy.engine.Connection): The SQLAlchemy engine or connection to use. | |
| Returns: | |
| bool: True if the foreign key exists, False otherwise. | |
| """ | |
| inspector = Inspector.from_engine(conn) | |
| return fk_name in [fk["name"] for fk in inspector.get_foreign_keys(table_name)] | |
| def constraint_exists(table_name, constraint_name, conn): | |
| """Check if a constraint exists in a table. | |
| Parameters: | |
| table_name (str): The name of the table to check. | |
| constraint_name (str): The name of the constraint to check. | |
| conn (sqlalchemy.engine.Engine or sqlalchemy.engine.Connection): The SQLAlchemy engine or connection to use. | |
| Returns: | |
| bool: True if the constraint exists, False otherwise. | |
| """ | |
| inspector = Inspector.from_engine(conn) | |
| constraints = inspector.get_unique_constraints(table_name) | |
| return constraint_name in [constraint["name"] for constraint in constraints] | |