o
    Ղi                     @   s   d Z ddlmZ ddlmZ ddlmZ ddlmZ e Z	e	j
ddZeedd	d
e	jdZeddedZe Zdd Zdd ZdS )u   数据库连接和会话管理    )create_engine)declarative_base)sessionmaker)get_settingszpostgresql://zpostgresql+psycopg://T
      )pool_pre_ping	pool_sizemax_overflowechoF)
autocommit	autoflushbindc                  c   s(    t  } z
| V  W |   dS |   w )u   获取数据库会话N)SessionLocalclose)db r   </lsinfo/ai/hellotax_ai/data_center/backend/./app/database.pyget_db   s
   r   c                  C   s`   ddl m}  t }|| dtj  |  W d   n1 s$w   Y  tjtj	_
dS )u%   初始化数据库（创建 schema）r   )textzCREATE SCHEMA IF NOT EXISTS N)
sqlalchemyr   engineconnectexecutesettingsdatabase_schemacommitBasemetadataschema)r   connr   r   r   init_db&   s   

r!   N)__doc__r   r   sqlalchemy.ext.declarativer   sqlalchemy.ormr   
app.configr   r   database_url_with_schemareplacedatabase_urldebugr   r   r   r   r!   r   r   r   r   <module>   s$    		