1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
U
¸ý°dÿ ã@sÖddlmZddlmZddlmZddlmZddlmZddlmZddlmZe     dd    ¡d
d „ƒZe     dd    ¡d d „ƒZ
e     dd    ¡dd„ƒZ e     dd    ¡dd„ƒZ e     dd    ¡dd„ƒZ e     d    ¡dddœdd„ƒZdS)é)Úexc)Úconfigure_follower)Ú    create_db)Údrop_db)Úgenerate_driver_url)Útemp_table_keyword_args)ÚupsertÚmysqlÚmariadbcCsn| ¡}|dkr&| ¡}| |¡r&d}|jd||fd |¡}z | ¡Wntjk
rdYdSX|SdS)Nr    r
z%s+%s)Z
drivername)Zget_backend_nameÚ get_dialectZ_is_mariadb_from_urlÚsetZupdate_query_stringrZNoSuchModuleError)ÚurlZdriverZ    query_strÚbackendZ dialect_clsÚnew_url©rúZd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\sqlalchemy/dialects/mysql/provision.pyr s
 
ÿþ rc    Cs|| ¡,}zt|||ƒWntk
r.YnXW5QRX| ¡0}| d|¡| d|¡| d|¡W5QRXdS)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ÚconnrrrÚ_mysql_create_db-s
 
ÿÿÿrcCsd||_d||_dS)Nz%s_test_schemaz%s_test_schema_2)Z test_schemaZ test_schema_2)ÚconfigrrrrÚ_mysql_configure_followerAs
rc    CsB| ¡0}| d|¡| d|¡| d|¡W5QRXdS)NzDROP DATABASE %s_test_schemazDROP DATABASE %s_test_schema_2zDROP DATABASE %s)rrrrrrrGs
rcCs
ddgiS)NÚprefixesÚ    TEMPORARYr)rrrrrÚ_mysql_temp_table_keyword_argsOsr NF)Ú
set_lambdaÚsort_by_parameter_ordercCs\ddlm}||ƒ}|r,|jf||jƒŽ}n|jjd}| |j|i¡}|j|d|iŽ}|S)Né)Úinsertr")Zsqlalchemy.dialects.mysqlr$Zon_duplicate_key_updateZinsertedZ primary_keyÚcÚkeyÚ    returning)rÚtabler'r!r"r$ZstmtZpk1rrrÚ_upsertTs  ÿÿr))ÚrZtesting.provisionrrrrrrZfor_dbrrrr r)rrrrÚ<module>s(       
 
 
 
 
 
 
 
 
 
ÿ