
    mWi                         d dl mZmZmZ d dlmZ d dlmZ ej        	                    dd          Z
 ee
ddd	          Z eeed
          Z G d de          ZdefdZd ZdS )    )AsyncSessioncreate_async_engineasync_sessionmaker)DeclarativeBase)settingszmysql+pymysql://zmysql+aiomysql://FTi  )echopool_pre_pingpool_recycle)class_expire_on_commitc                       e Zd ZdS )BaseN)__name__
__module____qualname__     0/var/www/html/crypto-bot/backend/app/database.pyr   r      s        Dr   r   returnc                   K   t                      4 d{V } 	 | W V  |                                  d{V  n)# t          $ r |                                  d{V   w xY w	 |                                  d{V  n# |                                  d{V  w xY w	 ddd          d{V  dS # 1 d{V swxY w Y   dS )z>Dependency: yields a database session and closes it after use.N)AsyncSessionLocalcommit	Exceptionrollbackclose)sessions    r   get_dbr      s      "" " " " " " " "g	"MMMM.."""""""""" 	 	 	""$$$$$$$$$	 #
 --//!!!!!!!!'--//!!!!!!!!!" " " " " " " " " " " " " " " " " " " " " " " " " " " " " "s7   B19A>&AA>#B1>BB11
B;>B;c                     K   t                                           4 d{V } ddlm}m}m}m} |                     t          j	        j
                   d{V  ddd          d{V  dS # 1 d{V swxY w Y   dS )z?Create all tables on startup (if not using Alembic migrations).Nr   )tradestrategyperformance_logsettings_model)enginebegin
app.modelsr   r    r!   r"   run_syncr   metadata
create_all)connr   r    r!   r"   s        r   init_dbr*   )   s     ||~~ 6 6 6 6 6 6 6OOOOOOOOOOOOmmDM45555555556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   7A,,
A69A6N)sqlalchemy.ext.asyncior   r   r   sqlalchemy.ormr   
app.configr   DATABASE_URLreplaceasync_db_urlr#   r   r   r   r*   r   r   r   <module>r1      s   X X X X X X X X X X * * * * * *       $,,+  
			
 
 
 '&
   	 	 	 	 	? 	 	 	
"l 
" 
" 
" 
"6 6 6 6 6r   