← Back
Editing: creation.cpython-311.pyc
� �|�e � �R � d dl Z d dlZd dlZd dlmZ d dlmZ G d� de� � ZdS )� N)�Path)�BaseDatabaseCreationc �L � e Zd Zed� � � Zd� Zd d�Zd� Zd d�Zd� Z d� Z d S )�DatabaseCreationc �B � t | t � � o | dk pd| v S )N�:memory:zmode=memory)� isinstancer )� database_names �E/usr/lib/python3/dist-packages/django/db/backends/sqlite3/creation.py�is_in_memory_dbz DatabaseCreation.is_in_memory_db s. � ��m�T�2�2�2� ��Z�'�I�=�M�+I� � c �d � | j j d d pd}|dk rd| j j z S |S )N�TEST�NAMEr z)file:memorydb_%s?mode=memory&cache=shared)� connection� settings_dict�alias)�self�test_database_names r �_get_test_db_namez"DatabaseCreation._get_test_db_name s= � �!�_�:�6�B�6�J�X�j����+�+�>���AV�V�V�!�!r Fc �@ � | � � � }|r|S | � |� � s�|dk r-| � d| � ||� � �d�� � t j |t j � � r�|st d|z � � }|s|dk rY t j |� � nl# t $ r6}| � d|z � � t j d� � Y d }~n1d }~ww xY w| � d� � t j d� � |S ) N� �'Destroying old test database for alias �...zXType 'yes' if you would like to try deleting the test database '%s', or 'no' to cancel: �yes�/Got an error deleting the old test database: %s� zTests cancelled.)r r �log�_get_database_display_str�os�access�F_OK�input�remove� Exception�sys�exit)r � verbosity�autoclobber�keepdbr �confirm�es r �_create_test_dbz DatabaseCreation._create_test_db s[ � �!�3�3�5�5��� &�%�%��#�#�$6�7�7� ��A�~�~������2�2�9�>P�Q�Q�Q�Q�� � � � �y�+�R�W�5�5� �"� �#�=�?Q�R�� �G� � �'�U�"2�"2�$�� �"4�5�5�5�5��$� $� $� $����!R�UV�!V�W�W�W����������������$���� �H�H�/�0�0�0��H�Q�K�K�K�!�!s �B2 �2 C2�<,C-�-C2c �� � | j j }|d }| � |� � r|S t j � |d � � \ }}i |�dd� |||� � i�S )Nr z{}_{}.{})r r r r �path�splitext�format)r �suffix�orig_settings_dict�source_database_name�root�exts r �get_test_db_clone_settingsz+DatabaseCreation.get_test_db_clone_settings3 s~ � �!�_�:��1�&�9����� 4�5�5� X�%�%���(�(�);�F�)C�D�D�I�D�#�W�(�W�&�*�2C�2C�D�&�RU�2V�2V�W�W�Wr c � � | j j d }| � |� � d }| � |� � �st j |t j � � r�|rd S |dk r-| � d| � ||� � �d�� � t j |� � nC# t $ r6}| � d|z � � t j d� � Y d }~nd }~ww xY w t j ||� � d S # t $ r7}| � d|z � � t j d� � Y d }~d S d }~ww xY wd S )Nr r r r r r z*Got an error cloning the test database: %s)r r r7 r r r! r"