o
    <6jX                     @   s   d dl mZmZmZ d dlmZ d dlmZ eejdddddZ	ee	edddd	Z
G d
d deZdefddZdd Zdd ZdS )    )create_async_engineasync_sessionmakerAsyncSession)DeclarativeBase)settingsF
      T)echo	pool_sizemax_overflowpool_pre_ping)bindclass_expire_on_commit	autoflush
autocommitc                   @   s   e Zd ZdS )BaseN)__name__
__module____qualname__ r   r   D/var/www/www-root/data/www/ai-bot.pdev.uz/bot/database/connection.pyr      s    r   returnc               	   C  sH   t  4 I dH } | V  W d  I dH  dS 1 I dH sw   Y  dS )z"Dependency: database session olishN)AsyncSessionFactory)sessionr   r   r   get_session   s   .r   c               	      sX   t  4 I dH } | tjjI dH  W d  I dH  dS 1 I dH s%w   Y  dS )u7   Development uchun — production'da alembic ishlatiladiN)enginebeginrun_syncr   metadata
create_all)connr   r   r   create_all_tables$   s   .r"   c                      s   t  I dH  dS )z$Bot o'chganda connection pool yopishN)r   disposer   r   r   r   close_db*   s   r$   N)sqlalchemy.ext.asyncior   r   r   sqlalchemy.ormr   
bot.configr   database_urlr   r   r   r   r"   r$   r   r   r   r   <module>   s*    	
