U
    ø×ccY
  ã                   @   s°   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 dd¡d	d
„ ƒZe dd¡dd„ ƒZ	e dd¡dd„ ƒZ
e dd¡dd„ ƒZe dd¡dd„ ƒZdS )é   )Úexc)Úconfigure_follower)Ú	create_db)Údrop_db)Úgenerate_driver_url)Útemp_table_keyword_argsÚmysqlÚmariadbc                 C   sn   |   ¡ }|dkr&|  ¡ }| | ¡r&d}| jd||f d |¡}z| ¡  W n tjk
rd   Y d S X |S d S )Nr   r	   z%s+%s)Z
drivername)Zget_backend_nameÚget_dialectZ_is_mariadb_from_urlÚsetZupdate_query_stringr   ZNoSuchModuleError)ÚurlZdriverZ	query_strÚbackendZdialect_clsÚnew_url© r   úG/tmp/pip-unpacked-wheel-8u86ls_i/sqlalchemy/dialects/mysql/provision.pyr   	   s    

ÿþr   c              	   C   s|   |  ¡ ,}zt| ||ƒ W n tk
r.   Y nX W 5 Q R X |  ¡ 0}| d| ¡ | d| ¡ | d| ¡ W 5 Q R X d S )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Úconnr   r   r   Ú_mysql_create_db*   s    

ÿÿÿr   c                 C   s   d| | _ d| | _d S )Nz%s_test_schemaz%s_test_schema_2)Ztest_schemaZtest_schema_2)Úconfigr   r   r   r   Ú_mysql_configure_follower>   s    
r   c              	   C   sB   |  ¡ 0}| d| ¡ | d| ¡ | d| ¡ W 5 Q R X d S )NzDROP DATABASE %s_test_schemazDROP DATABASE %s_test_schema_2zDROP DATABASE %s)r   r   r   r   r   r   r   D   s    
r   c                 C   s
   ddgiS )NÚprefixesÚ	TEMPORARYr   )r   r   r   r   r   Ú_mysql_temp_table_keyword_argsL   s    r   N)Ú r   Ztesting.provisionr   r   r   r   r   Zfor_dbr   r   r   r   r   r   r   r   Ú<module>   s   

 






