3
aY
                 @   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jddd	d
 Zejdddd Z	ejdddd Z
ejdddd Zejdddd ZdS )   )exc)configure_follower)	create_db)drop_db)generate_driver_url)temp_table_keyword_argsmysqlmariadbc             C   sl   | j  }|dkr&| j }|j| r&d}| jd||f dj|}y|j  W n tjk
rb   d S X |S d S )Nr   r	   z%s+%s)Z
drivername)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   I/tmp/pip-build-6_cqtusv/SQLAlchemy/sqlalchemy/dialects/mysql/provision.pyr   	   s    
r   c             C   s|   |j  ,}yt| || W n tk
r.   Y nX W d Q R X |j  0}|jd|  |jd|  |jd|  W d 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   |j  0}|jd|  |jd|  |jd|  W d 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   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   !