implemented db_init

This commit is contained in:
Oscar Krause
2022-12-23 13:17:19 +01:00
parent 6049048bbf
commit f539db5933
2 changed files with 13 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
import datetime
from sqlalchemy import Column, VARCHAR, CHAR, ForeignKey, DATETIME, UniqueConstraint, update, and_, delete
from sqlalchemy import Column, VARCHAR, CHAR, ForeignKey, DATETIME, UniqueConstraint, update, and_, delete, inspect
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.future import Engine
from sqlalchemy.orm import sessionmaker
@@ -102,3 +102,13 @@ class Lease(Base):
deletions = session.query(Lease).delete(Lease.origin_ref == origin_ref)
session.close()
return deletions
def init(engine: Engine):
tables = [Origin, Lease]
db = inspect(engine)
session = sessionmaker(bind=engine)()
for table in tables:
if not db.dialect.has_table(engine.connect(), table.__tablename__):
session.execute(str(table.create_statement(engine)))
session.close()