
    :j                         d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 ddl
mZ  e eej                        ej                  dd	      Z ed
d
e      Z e       Zde	eddf   fdZd Zd Zy)z/
Database configuration and session management
    )create_engine)declarative_base)sessionmakerSession)	Generator)settingsTi  )echopool_pre_pingpool_recycleF)
autocommit	autoflushbindreturnNc               #   t   K   t               } 	 |  | j                          y# | j                          w xY ww)z5
    Database dependency to get database session
    N)SessionLocalclose)dbs    0/var/www/bookbeach.app/backend/app/db/session.pyget_dbr      s+      
B


s   8# 858c                  L    t         j                  j                  t               y)zCreate all database tablesr   N)Basemetadata
create_allengine     r   create_tablesr   $   s    MM&)r   c                  L    t         j                  j                  t               y)zDrop all database tablesr   N)r   r   drop_allr   r   r   r   drop_tablesr!   )   s    MM'r   )__doc__
sqlalchemyr   sqlalchemy.ext.declarativer   sqlalchemy.ormr   r   typingr   app.core.configr   strDATABASE_URLDEBUGr   r   r   r   r   r!   r   r   r   <module>r+      s~    % 7 0  $ 
		
 uFK 	'4-. *
(r   