Andrchest's picture
Single commit for Hugging Face
ab250f8
from sqlalchemy import inspect
from app.backend.controllers.base_controller import engine
from app.backend.models.base_model import Base
from app.backend.models.chats import Chat
from app.backend.models.messages import Message
from app.backend.models.users import User
from app.backend.models.documents import Document
def table_exists(name: str) -> bool:
return inspect(engine).has_table(name)
def create_tables() -> None:
Base.metadata.create_all(engine)
def drop_tables() -> None:
# List tables in the correct order for dropping (considering dependencies)
tables = [Document.__table__, Message.__table__, Chat.__table__, User.__table__]
for table in tables:
if table_exists(table.name):
try:
table.drop(engine)
print(f"Dropped table {table.name}")
except Exception as e:
print(f"Error dropping table {table.name}: {e}")
else:
print(f"Table {table.name} does not exist, skipping drop")
def automigrate() -> None:
print("Starting automigration...")
drop_tables()
create_tables()
print("Automigration completed.")