2020-02-03 16:18:21 +08:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
from typing import *
|
|
|
|
|
|
|
|
import sqlalchemy.orm
|
|
|
|
|
|
|
|
import config
|
|
|
|
|
2023-07-29 01:07:04 +08:00
|
|
|
_engine: Optional[sqlalchemy.Engine] = None
|
|
|
|
|
|
|
|
|
|
|
|
class OrmBase(sqlalchemy.orm.DeclarativeBase):
|
|
|
|
pass
|
2020-02-03 16:18:21 +08:00
|
|
|
|
|
|
|
|
2021-07-17 13:03:45 +08:00
|
|
|
def init(_debug):
|
2020-02-03 16:18:21 +08:00
|
|
|
cfg = config.get_config()
|
2023-07-29 01:07:04 +08:00
|
|
|
global _engine
|
2020-03-21 15:23:31 +08:00
|
|
|
# engine = sqlalchemy.create_engine(cfg.database_url, echo=debug)
|
2022-02-15 00:18:46 +08:00
|
|
|
_engine = sqlalchemy.create_engine(cfg.database_url)
|
2020-02-03 16:18:21 +08:00
|
|
|
|
2022-02-15 00:18:46 +08:00
|
|
|
OrmBase.metadata.create_all(_engine)
|
2020-02-03 16:18:21 +08:00
|
|
|
|
|
|
|
|
2023-07-29 01:07:04 +08:00
|
|
|
def get_session() -> sqlalchemy.orm.Session:
|
|
|
|
return sqlalchemy.orm.Session(_engine)
|