HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/alembic/testing/__pycache__/provision.cpython-37.pyc
B

�M!V��@sLdZddlmZddlmZddlmZddlm	Z	m
Z
ddlmZd	ZGd
d�de
�Zdd
�Zdd�Zdd�Zdd�Zdd�Zejdd��Zejdd��Zejdd��Zejdd��Ze�d�dd ��Ze�d!�d"d#��Ze�d$�d%d&��Ze�d$�d'd(��Ze�d�d)d*��Ze�d!�d+d,��Ze�d�d-d.��Z e�d$�d/d0��Z!d	S)1z�NOTE:  copied/adapted from SQLAlchemy master for backwards compatibility;
   this should be removable when Alembic targets SQLAlchemy 1.0.0
�)�url)�text�)�compat�)�config�engines)�get_url_backend_nameNc@s0eZdZdd�Zedd��Zdd�Zdd�Zd	S)
�registercCs
i|_dS)N)�fns)�self�r
�J/opt/alt/python37/lib/python3.7/site-packages/alembic/testing/provision.py�__init__szregister.__init__cCst��d�|�S)N�*)r
�for_db)�cls�fnr
r
r�initsz
register.initcs��fdd�}|S)Ncs|�j�<�S)N)r)r)�dbnamerr
r�decorates
z!register.for_db.<locals>.decorater
)rrrr
)rrrrszregister.for_dbcGspt|tj�rt�|�}nt|tj�r*|}n|jj}t|�}||j	krX|j	||f|��S|j	d|f|��SdS)Nr)
�
isinstancer�string_types�sa_url�make_url�URL�dbrr	r)r�cfg�argr�backendr
r
r�__call__s
zregister.__call__N)�__name__�
__module__�__qualname__r�classmethodrrr r
r
r
rr

sr
cCs"xt�D]}t||j|�qWdS)N)�_configs_for_db_operation�
_create_dbr)�follower_identrr
r
r�create_follower_db)sr(cCs"xtj��D]}t||�qWdS)N)r�Config�all_configs�_configure_follower)r'rr
r
r�configure_follower/sr,cCsJ|rt||�}t�||�}|����tj�||||�}|rFt||�|S)N)	�_follower_url_from_mainrZtesting_engine�connect�closerr)r
r+)Zdb_urlZdb_opts�optionsZfile_configr'�engrr
r
r�setup_config4s

r2cCs"xt�D]}t||j|�qWdS)N)r%�_drop_dbr)r'rr
r
r�drop_follower_db?sr4ccs�t�}xtj��D]}|j��qWxLtj��D]>}|jj}t|�}||j|j	|j
f}||kr0|V|�|�q0Wxtj��D]}|j��q~WdS)N)�setrr)r*rZdisposerr	�username�host�database�add)ZhostsrrrZ	host_confr
r
rr%Dsr%cCstd|j��dS)Nz"no DB creation routine for cfg: %s)�NotImplementedErrorr)rr1�identr
r
rr&Ysr&cCstd|j��dS)Nzno DB drop routine for cfg: %s)r:r)rr1r;r
r
rr3^sr3cCsdS)Nr
)rr;r
r
rr+csr+cCst�|�}||_|S)N)rrr8)rr;r
r
rr-hs
r-ZsqlitecCs0t�|�}|jr|jdkr|St�d|�SdS)Nz:memory:zsqlite:///%s.db)rrr8)rr;r
r
r�_sqlite_follower_url_from_mainos
r<Z
postgresqlc	CsZ|��jdd��@}yt|||�WnYnX|�d�}|�d||f�WdQRXdS)N�
AUTOCOMMIT)�isolation_levelzselect current_database()zCREATE DATABASE %s TEMPLATE %s)r.�execution_options�_pg_drop_dbZscalar�execute)rr1r;�connZ	currentdbr
r
r�
_pg_create_dbxs

rCZmysqlc	Cs`|���N}yt|||�WnYnX|�d|�|�d|�|�d|�WdQRXdS)NzCREATE DATABASE %szCREATE DATABASE %s_test_schemaz CREATE DATABASE %s_test_schema_2)r.�_mysql_drop_dbrA)rr1r;rBr
r
r�_mysql_create_db�s
rEcCsd||_d||_dS)Nz%s_test_schemaz%s_test_schema_2)Ztest_schemaZ
test_schema_2)rr;r
r
r�_mysql_configure_follower�s
rFcCsdS)Nr
)rr1r;r
r
r�_sqlite_create_db�srGc	Cs@|��jdd��&}|jtd�|d�|�d|�WdQRXdS)Nr=)r>z�select pg_terminate_backend(pid) from pg_stat_activity where usename=current_user and pid != pg_backend_pid() and datname=:dname)ZdnamezDROP DATABASE %s)r.r?rAr)rr1r;rBr
r
rr@�s
r@cCsdS)Nr
)rr1r;r
r
r�_sqlite_drop_db�srHc	Csx|���f}y|�d|�WnYnXy|�d|�WnYnXy|�d|�WnYnXWdQRXdS)NzDROP DATABASE %s_test_schemazDROP DATABASE %s_test_schema_2zDROP DATABASE %s)r.rA)rr1r;rBr
r
rrD�s
rD)"�__doc__Zsqlalchemy.enginerrZ
sqlalchemyr�utilr�rrr	ZFOLLOWER_IDENT�objectr
r(r,r2r4r%rr&r3r+r-rr<rCrErFrGr@rHrDr
r
r
r�<module>s0