
    i                         d dl mZmZmZ d dlmZ d dlmZ  e       Z eej                  d      Z
 ee
ed      Z G d de      Zd	 Zd
efdZy)    )AsyncSessionasync_sessionmakercreate_async_engine)DeclarativeBase)get_settingsF)echo)class_expire_on_commitc                       e Zd ZdZy)Baseu   SQLAlchemy 声明式基类N)__name__
__module____qualname____doc__     J/mnt/c/Users/DipsyHou/Desktop/workspace/TheGreatWar/server/app/database.pyr   r      s    $r   r   c                     K   t         j                         4 d{   } | j                  t        j                  j
                         d{    ddd      d{    y7 F7 7 	# 1 d{  7  sw Y   yxY ww)uE   创建所有表（开发用，生产环境建议用 Alembic 迁移）N)enginebeginrun_syncr   metadata
create_all)conns    r   init_dbr      sI     ||~~mmDMM44555 ~~5 ~~~sV   A=A"A=-A(A$A(A=A&A=$A(&A=(A:.A1/A:6A=returnc                   K   t               4 d{   } 	 |  | j                          d{    ddd      d{    y7 37 # t        $ r | j                          d{  7    w xY w7 0# 1 d{  7  sw Y   yxY ww)u.   FastAPI 依赖注入：获取数据库 sessionN)async_sessioncommit	Exceptionrollback)sessions    r   get_dbr#      sh     '	M.."""  # 	""$$$		 so   BABA2A	AA	BA0 BA		A-%A(&A--A20B2B8A;9B BN)sqlalchemy.ext.asyncior   r   r   sqlalchemy.ormr   
app.configr   settingsDATABASE_URLr   r   r   r   r#   r   r   r   <module>r)      sV    X X * #>	X22	?"6,QVW	? 	
6l r   