
    +hY
                     F   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                  dd      d	        Z ej                  dd      d
        Z	 ej                  dd      d        Z
 ej                  dd      d        Z ej                  dd      d        Zy)   )exc)configure_follower)	create_db)drop_db)generate_driver_url)temp_table_keyword_argsmysqlmariadbc                    | j                         }|dk(  r#| j                         }|j                  |       rd}| j                  |d|      j	                  |      }	 |j                          |S # t
        j                  $ r Y y w xY w)Nr	   r
   +)
drivername)get_backend_nameget_dialect_is_mariadb_from_urlsetupdate_query_stringr   NoSuchModuleError)urldriver	query_strbackenddialect_clsnew_urls         V/var/www/html/venv/lib/python3.12/site-packages/sqlalchemy/dialects/mysql/provision.pyr   r   	   s    ""$G 'oo'++C0Ggg%v.  )$      s    A2 2BBc                 J   |j                         5 }	 t        | ||       d d d        |j                         5 }|j                  d|z         |j                  d|z         |j                  d|z         d d d        y # t        $ r Y iw xY w# 1 sw Y   nxY w# 1 sw Y   y xY w)Nz(CREATE DATABASE %s CHARACTER SET utf8mb4z4CREATE DATABASE %s_test_schema CHARACTER SET utf8mb4z6CREATE DATABASE %s_test_schema_2 CHARACTER SET utf8mb4)begin_mysql_drop_db	Exceptionexec_driver_sqlcfgengidentconns       r   _mysql_create_dbr%   *   s    	 	3e, 
 	
6>	
 	BUJ	
 	DuL	
	
 	
  		 	
 	
s3   BA>=B>	B
B	B

BBB"c                 ,    d|z  | _         d|z  | _        y )Nz%s_test_schemaz%s_test_schema_2)test_schematest_schema_2)configr#   s     r   _mysql_configure_followerr*   >   s    )E1F-5F    c                     |j                         5 }|j                  d|z         |j                  d|z         |j                  d|z         d d d        y # 1 sw Y   y xY w)NzDROP DATABASE %s_test_schemazDROP DATABASE %s_test_schema_2zDROP DATABASE %s)r   r   r    s       r   r   r   D   s^    	 9;eCD=EF/%789 9 9s   =AA c                     ddgiS )Nprefixes	TEMPORARY )r!   r"   s     r   _mysql_temp_table_keyword_argsr1   L   s    &&r+   N) r   testing.provisionr   r   r   r   r   for_dbr%   r*   r   r1   r0   r+   r   <module>r5      s     3 * ( 4 8 GY/ 0@ '9%
 &
& 7I.6 /6
 #9 $9  3' 4'r+   