Spaces:
Sleeping
Sleeping
File size: 797 Bytes
e53c2d7 28b6774 e53c2d7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
from app.backend.models.users import User
from app.backend.models.chats import Chat
from app.backend.models.messages import Message
from app.backend.controllers.base_controller import engine
from app.backend.models.base_model import Base
def table_exists(name: str) -> bool:
return engine.dialect.has_table(engine, name)
def create_tables() -> None:
Base.metadata.create_all(engine)
def check_tables() -> list[str]:
return Base.metadata.tables.keys()
def drop_tables() -> None:
# for now the order matters, so
# TODO: add cascade deletion for models
Message.__table__.drop(engine)
Chat.__table__.drop(engine)
User.__table__.drop(engine)
def automigrate() -> None:
try:
drop_tables()
except Exception as e:
print(e)
create_tables() |