U
    {h                      @   sT   d dl mZ d dlmZ d dlmZmZ d dlmZm	Z	m
Z
mZ G dd deZdS )    )apps)BaseCommand)
connectionmodels)BaseLogEntryBootstrapTranslatableMixinReferenceIndexTranslatableMixinc                   @   s"   e Zd ZdZdddZdd ZdS )	CommandzcConverts UUID columns from char type to the native UUID type used in MariaDB 10.7+ and Django 5.0+.Fc              	   C   sv   |j |j|krd S |j js"d S tj|dd}|| tj|d}|| t	 }|
||| W 5 Q R X d S )N$   )null
max_lengthr   )_meta	get_fieldmodelZmanagedr   Z	CharFieldZset_attributes_from_nameZ	UUIDFieldr   schema_editorZalter_field)selfr   
field_namer   Z	old_fieldZ	new_fieldr    r   y/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/management/commands/convert_mariadb_uuids.pyconvert_field   s    


zCommand.convert_fieldc                 K   sl   |  td t D ]R}t|tr4| j |ddd qt|trP| j |ddd qt|tr|  |d qd S )NZcontent_path_hashuuidTr   Ztranslation_key)r   r   r   Z
get_models
issubclassr   r   r	   )r   optionsr   r   r   r   handle"   s    


zCommand.handleN)F)__name__
__module____qualname__helpr   r   r   r   r   r   r
      s   
r
   N)Zdjango.appsr   Zdjango.core.management.baser   Z	django.dbr   r   Zwagtail.modelsr   r   r   r	   r
   r   r   r   r   <module>   s   