
    gy                     J    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y)    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|j                  d|d   z         |d   r|j                  d|d   z         dj                  |      S )NTESTCHARSETzCHARACTER SET %s	COLLATIONz
COLLATE %s )
connectionsettings_dictappendjoin)selfsuffixtest_settingss      y/var/www/python.vincentserveurtest.ovh/public_html/venv/lib/python3.12/site-packages/django/db/backends/mysql/creation.pysql_table_creation_suffixz*DatabaseCreation.sql_table_creation_suffix   sg    55f=#MM,}Y/GGH%MM,{)CCDxx    c                     	 t         |   |||       y # t        $ r_}t        |j                        dk  s|j                  d   dk7  r*| j                  d|z         t        j                  d       n Y d }~y 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   sl    	G+FJG 	166{Q!&&)t"3FJK 		s    	A=AA88A=c           	         | j                   j                  d   }| j                  |      d   }| j                   j                  j	                  |      | j                         d}| j                         5 }	 | j                  |||       d d d        | j                  ||       y # t        $ r |r
Y d d d        y 	 |dk\  r%| j                  d| j                  ||      d       |j                  d|z         | j                  |||       n?# t        $ r3}| j                  d|z         t        j                  d       Y d }~nd }~ww xY wY w xY w# 1 sw Y   xY w)	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   sG   #<<VD#>>vFvNoo))445IJ446
  F ,,V^VL !, 	+-AB'    !   A~ !% > >$-/C!" NN#=#NO00P   HHLqPQHHQKK !  ! s[   4E6B$$E/E:AD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                  j                          d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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COO))2
' 
a^
 
 	

 !
 <C77w7L8+Z__(
!!&&!))	   &&(
 
 
 
s$   2C-5C!C-!C*	&C--C6)F)__name__
__module____qualname__r   r   r4   r/   __classcell__)r%   s   @r   r   r   
   s     	C>)r   r   )r<   r>   r    django.db.backends.base.creationr   clientr   r    r   r   <module>rQ      s#    	  
 A "M)+ M)r   