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 ddlm	Z	 ddl
mZ ddlmZ ejZejd	ur9eej ejZe	 Zejd
dZede dddZdddZe r_e  d	S e  d	S )u   Alembic 环境配置    )
fileConfig)engine_from_config)pool)context)get_settings)Base)tax_dataNzpostgresql://zpostgresql+psycopg://sqlalchemy.urlreturnc                  C   sV   t d} tj| tdddid t  t  W d   dS 1 s$w   Y  dS )u#   在 'offline' 模式下运行迁移r	   T
paramstylenamed)urltarget_metadataliteral_bindsdialect_optsN)configget_main_optionr   	configurer   begin_transactionrun_migrations)r    r   9/lsinfo/ai/hellotax_ai/data_center/backend/alembic/env.pyrun_migrations_offline   s   


"r   c               	   C   s   t ttji dtjd} |  0}tj|t	d t
  t  W d   n1 s,w   Y  W d   dS W d   dS 1 sDw   Y  dS )u"   在 'online' 模式下运行迁移zsqlalchemy.)prefix	poolclass)
connectionr   N)r   r   get_sectionconfig_ini_sectionr   NullPoolconnectr   r   r   r   r   )connectabler   r   r   r   run_migrations_online-   s    


"r!   )r
   N)__doc__logging.configr   
sqlalchemyr   r   alembicr   
app.configr   app.databaser   
app.modelsr   r   config_file_namemetadatar   settingsdatabase_urlreplaceset_main_optionr   r!   is_offline_moder   r   r   r   <module>   s(    





