
    hy                     J    S SK r S SKrS SKrS SKJr  SSKJr   " S S\5      rg)    N)BaseDatabaseCreation   )DatabaseClientc                   B   ^  \ rS rSrS rSU 4S jjrSS jrS rSrU =r	$ )DatabaseCreation
   c                     / nU R                   R                  S   nUS   (       a  UR                  SUS   -  5        US   (       a  UR                  SUS   -  5        SR                  U5      $ )NTESTCHARSETzCHARACTER SET %s	COLLATIONz
COLLATE %s )
connectionsettings_dictappendjoin)selfsuffixtest_settingss      S/var/www/html/env/lib/python3.13/site-packages/django/db/backends/mysql/creation.pysql_table_creation_suffix*DatabaseCreation.sql_table_creation_suffix   sg    55f=#MM,}Y/GGH%MM,{)CCDxx    c                   >  [         TU ]  XU5        g ! [         aa  n[        UR                  5      S:  d  UR                  S   S:w  a/  U R                  SU-  5        [        R                  " S5         S nAg e S nAff = f)Nr   r   i  z+Got an error creating the test database: %s   )super_execute_create_test_db	Exceptionlenargslogsysexit)r   cursor
parameterskeepdbe	__class__s        r   r   (DatabaseCreation._execute_create_test_db   sg    	G+FG 	166{Q!&&)t"3FJK	s    
A?AA:9A::A?c           	         U R                   R                  S   nU R                  U5      S   nU R                   R                  R	                  U5      U R                  5       S.nU R                  5        n U R                  XvU5        S S S 5        U R                  XE5        g ! [         a    U(       a
   S S S 5        g  US:  a%  U R                  SU R                  X%5      < S35        UR                  SU-  5        U R                  XvU5         N! [         a5  nU R                  SU-  5        [        R                  " S5         S nA NS nAff = ff = f! , (       d  f       N= f)	NNAME)dbnamer   r   z'Destroying old test database for alias z...zDROP DATABASE %(dbname)sz-Got an error recreating the test database: %sr   )r   r   get_test_db_clone_settingsops
quote_namer   _nodb_cursorr   r   r    _get_database_display_strexecuter!   r"   	_clone_db)	r   r   	verbosityr%   source_database_nametarget_database_nametest_db_paramsr#   r&   s	            r   _clone_test_dbDatabaseCreation._clone_test_db   s=   #<<VD#>>vFvNoo))445IJ446
  F ,,VVL !, 	+B'    !   A~ !% > >$-!" NN#=#NO00P   HHLqPQHHQKK !  ! sU   4E6B""E3E>ADE
E*EE	EEEE
E%c                    [         R                  " U R                  R                  / 5      u  p4S/USS QSPSPUPnU(       a  0 [        R
                  EUEOS =pgUnX(S'   [        R                  " U[        R                  US9 n	[        R                  " UU	R                  [        R                  US9   U	R                  R                  5         S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)N	mysqldumpr   z
--routinesz--events)stdoutenv)stdinr<   r=   )r   settings_to_cmd_args_envr   r   osenviron
subprocessPopenPIPEr<   DEVNULLclose)
r   r4   r5   cmd_argscmd_envdump_cmddump_envload_envload_cmd	dump_procs
             r   r2   DatabaseCreation._clone_db>   s   *CCOO))2
 
a^
 
 	

 !
 <C77w7L+Z__(
!!&&!))	   &&(
 
 
 
s$   0C14C C1 
C.	*C11
C? )F)
__name__
__module____qualname____firstlineno__r   r   r7   r2   __static_attributes____classcell__)r'   s   @r   r   r   
   s     	C>) )r   r   )r@   rB   r!    django.db.backends.base.creationr   clientr   r   rO   r   r   <module>rX      s#    	  
 A "M)+ M)r   