
    Evgy                     R    d dl Z d dlZd dlZd dlmZ ddlmZ  G d de          ZdS )    N)BaseDatabaseCreation   )DatabaseClientc                   4     e Zd Zd Zd fd	ZddZd Z xZS )DatabaseCreationc                     g }| j         j        d         }|d         r|                    d|d         z             |d         r|                    d|d         z             d                    |          S )NTESTCHARSETzCHARACTER SET %s	COLLATIONz
COLLATE %s )
connectionsettings_dictappendjoin)selfsuffixtest_settingss      ^/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/django/db/backends/mysql/creation.pysql_table_creation_suffixz*DatabaseCreation.sql_table_creation_suffix   s}    5f=# 	IMM,}Y/GGHHH% 	EMM,{)CCDDDxx    Fc                 .   	 t                                          |||           d S # t          $ rb}t          |j                  dk     s|j        d         dk    r-|                     d|z             t          j        d           n Y d }~d S d }~ww xY w)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   z(DatabaseCreation._execute_create_test_db   s    	GG++FJGGGGG 	 	 	16{{Q!&)t"3"3FJKKK 		s   #( 
BABBc           	         | j         j        d         }|                     |          d         }| j         j                            |          |                                 d}|                                 5 }	 |                     |||           n# t          $ r |rY d d d            d S 	 |dk    r-| 	                    d| 
                    ||          d           |                    d|z             |                     |||           nC# t          $ r6}| 	                    d|z             t          j        d           Y d }~nd }~ww xY wY nw xY wd d d            n# 1 swxY w Y   |                     ||           d S )	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_dbzDatabaseCreation._clone_test_db   s$   #<VD#>>vFFvNo)445IJJ4466
 
    	 F ,,V^VLLLL       	  	  	  	  	  	  	  	   A~~ !% > >$-/C!" !" !" !"   NN#=#NOOO00PPPP       HHLqPQQQHQKKKKKKKK ! 	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 , 	+-ABBBBBsg   6E#8BE#EE#+A"DE
E,E	E	EEE#EE##E'*E'c                    t          j        | j        j        g           \  }}dg|dd         dd|}|ri t          j        |nd x}}|}||d<   t          j        |t          j        |          5 }	t          j        ||	j	        t          j
        |          5  |	j	                                         d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )N	mysqldumpr   z
--routinesz--events)stdoutenv)stdinr8   r9   )r   settings_to_cmd_args_envr   r   osenviron
subprocessPopenPIPEr8   DEVNULLclose)
r   r1   r2   cmd_argscmd_envdump_cmddump_envload_envload_cmd	dump_procs
             r   r/   zDatabaseCreation._clone_db>   s   *CO)2
 
' 
ad^
 
 	

 !
 <CL77w77L8+Z_(
 
 
 
	)!&!)	   ) )  &&((() ) ) ) ) ) ) ) ) ) ) ) ) ) )
	) 
	) 
	) 
	) 
	) 
	) 
	) 
	) 
	) 
	) 
	) 
	) 
	) 
	) 
	) 
	) 
	) 
	)s6   4(CC6CC	C	C	
CC!C)F)__name__
__module____qualname__r   r   r4   r/   __classcell__)r%   s   @r   r   r   
   ss             	 	 	 	 	 	C C C C>) ) ) ) ) ) )r   r   )r<   r>   r    django.db.backends.base.creationr   clientr   r    r   r   <module>rQ      s    				     



 A A A A A A " " " " " "M) M) M) M) M)+ M) M) M) M) M)r   