3
(hM                 @   s(   d dl Z d dlmZ G dd deZdS )    N)BaseDatabaseCreationc               @   s   e Zd Zdd ZdddZdS )DatabaseCreationc             C   s8   | j jd }|d d ks td|d r4d|d  S dS )NZTESTZ	COLLATIONzHPostgreSQL does not support collation setting at database creation time.CHARSETzWITH ENCODING '%s' )
connectionsettings_dictAssertionError)selfZtest_settings r
   J/tmp/pip-install-q3hcpn_q/Django/django/db/backends/postgresql/creation.pysql_table_creation_suffix   s    z*DatabaseCreation.sql_table_creation_suffixFc       	   #   C   s   | j j  | j jj}| j jd }| j|d }| jj }y|jd||||f  W n t	k
r } z|rtd S yN|dkrt
d| j||f  |jd||  |jd||||f  W n< t	k
r } z tjjd|  tjd W Y d d }~X nX W Y d d }~X nX W d Q R X d S )NNAMEz#CREATE DATABASE %s WITH TEMPLATE %s   z,Destroying old test database for alias %s...zDROP DATABASE %sz+Got an error cloning the test database: %s
   )r   closeopsZ
quote_namer   Zget_test_db_clone_settingsZ_nodb_connectioncursorexecute	ExceptionprintZ_get_database_display_strsysstderrwriteexit)	r	   number	verbosityZkeepdbqnZsource_database_nameZtarget_database_namer   er
   r
   r   _clone_test_db   s*    

zDatabaseCreation._clone_test_dbN)F)__name__
__module____qualname__r   r   r
   r
   r
   r   r      s   	r   )r   Z django.db.backends.base.creationr   r   r
   r
   r
   r   <module>   s   