HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/alt/python38/lib/python3.8/site-packages/peewee_migrate/__pycache__/auto.cpython-38.pyc
U

/�X2�@s�ddlmZmZddlZddlmZdZdeZ	dd�Z
ejdd	�ejd
d	�ej
e
iZGdd�de�Zd
d�Zd'dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd(dd�Zdd �Zd!d"�Zd#d$�Zd%d&�ZdS))�)�Hashable�OrderedDictN)�Columnz    �
cCs0i}|jdk	r|j|d<|jdk	r,|j|d<|S)N�	on_delete�	on_update)rr)�field�params�r
�D/opt/alt/python38/lib/python3.8/site-packages/peewee_migrate/auto.py�fk_to_paramss



rcCs
d|jiS)N�
max_length)r
��fr
r
r�<lambda>�rcCs|j|j|j|jd�S)N�Z
max_digitsZdecimal_placesZ
auto_roundZroundingrrr
r
rrs
�cs0eZdZd	dd�Z�fdd�Zd
dd�Z�ZS)rNcCs�|j|_t|�|_|j|_|j|_|j|_|j|_|j|_i|_	|j
dk	r`t|j
�s`|j
|j	d<|jtkr�|j	�
t|j|��d|_d|_d|_t|tj�r�|jj|_|r�|jjj|jkr�d|jjj|_n
|jj|_dS)N�defaultzmigrator.orm['%s'])�name�type�field_class�nullZnullableZprimary_keyZ	db_column�index�uniquer	r�callable�FIELD_TO_PARAMS�updateZ	rel_modelZrelated_nameZto_field�
isinstance�pw�ForeignKeyField�_metaZorm�__name__)�selfr�migratorr
r
r�__init__s(


zColumn.__init__cs,tt|���}|�dd�|j��D��|S)NcSsi|]\}}|t|��qSr
)�repr��.0�k�vr
r
r�
<dictcomp>;sz/Column.get_field_parameters.<locals>.<dictcomp>)�superr�get_field_parametersrr	�items)r"r	��	__class__r
rr,9szColumn.get_field_parameters� cCs<|��}d�dd�t|���D��}dj|j||jj|d�S)N�, css|]\}}d||fVqdS)z%s=%sNr
r&r
r
r�	<genexpr>As�z#Column.get_field.<locals>.<genexpr>z-{name}{space}={space}pw.{classname}({params}))r�space�	classnamer	)r,�join�sortedr-�formatrrr!)r"r3Zfield_paramsZ	param_strr
r
r�	get_field>s

��zColumn.get_field)N)r0)r!�
__module__�__qualname__r$r,r8�
__classcell__r
r
r.rrs
rcs"g}|jj�|jj}t��t|�}|rP�fdd�|D�}|�t|f|�|��t|�t��}|rx|�t|f|���g}g}	t��||D]P}
�|
||
}}t||�}
|
�dd�}|
r�|�|�|dk	r�|	�|
|f�q�|r�|�t|f|�|��|	D]\}
}|�t	||
|���q|S)z&Find difference between Peewee models.csg|]}�|�qSr
r
)r'r�Zfields1r
r�
<listcomp>Qszdiff_one.<locals>.<listcomp>rN)
r �fields�set�append�
create_fields�drop_fields�compare_fields�pop�
change_fields�change_not_null)�model1Zmodel2�kwargs�changesZfields2Znames1r>Znames2Zfields_Znulls_r�field1�field2Zdiffrr
r<r�diff_oneGs2

rLFcs�t����t����|r(t���t���tdd��D���tdd��D���g}�fdd��D�D]}|�t�||d��qb�fdd��D�D]}|�t�|��q����D](\}}|�kr�q�|t|�||d�7}q�|S)NcSsg|]}|jj|f�qSr
�r r�r'�mr
r
rr=wszdiff_many.<locals>.<listcomp>cSsg|]}|jj|f�qSr
rMrNr
r
rr=xscsg|]}|�kr|�qSr
r
rN)�models2r
rr=}s)r#csg|]}|�kr|�qSr
r
rN)�models1r
rr=�s)	rZsort_models_topologically�reversedrr@�create_model�remove_modelr-rL)rQrPr#�reverserIrrGr
)rQrPr�	diff_manyos"

rVcs4d}tt��fdd�|jjD��}|j|j|d�S)Nz&class {classname}(pw.Model):
{fields}
cs.g|]&}t|tj�r|jdkst|f���qS)�id)rrZPrimaryKeyFieldr�
field_to_code�r'r�rHr
rr=�s
�z!model_to_code.<locals>.<listcomp>)r4r>)�INDENT�NEWLINEr5r Z
sorted_fieldsr7r!)�ModelrH�templater>r
rZr�
model_to_code�s�
�r_cKsdt|f|�S)Nz@migrator.create_model
)r_�r]rHr
r
rrS�srScKsd|jjS)Nzmigrator.remove_model('%s'))r �db_tabler`r
r
rrT�srTc	s.dt|jjtdt��fdd�|D��fS)Nzmigrator.add_fields(%s'%s', %s)�,csg|]}t|df���qS�F�rXrYrZr
rr=�sz!create_fields.<locals>.<listcomp>)r\r rar5�r]r>rHr
rZrrA�s
�rAcOsd|jjd�tt|��fS)Nz migrator.remove_fields('%s', %s)r1)r rar5�mapr%rer
r
rrB�s�rBTcKst|f|�}|�|rdnd�S)Nr0�)rr8)rr3rH�colr
r
rrX�srXcKsbt|�t|�}}||kr"ddiSt|�}|j|d<t|�}|j|d<tt|���t|����S)N�clsTr)r�field_to_paramsr�dictr?r-)rJrKrHZ
field_cls1Z
field_cls2Zparams1Zparams2r
r
rrC�s

rCcKsFt�t|�dd��|�}|jdk	rBt|j�sBt|jt�rB|j|d<|S)NcSsiS)Nr
rr
r
rr�rz!field_to_params.<locals>.<lambda>r)r�getrrrrr)rrHr	r
r
rrj�s
�
�
rjcOs$d|jjdt�dd�|D��fS)Nz migrator.change_fields('%s', %s)rbcSsg|]}t|d��qSrcrd)r'rr
r
rr=�sz!change_fields.<locals>.<listcomp>)r rar\r5rer
r
rrE�s�rEcCs"|rdnd}d||jjt|�fS)NZ
drop_not_nullZadd_not_nullzmigrator.%s('%s', %s))r rar%)r]rrZ	operationr
r
rrF�srF)NF)T)�collectionsrrZpeeweerZplayhouse.reflectionrZVanilaColumnr[r\rZ	CharFieldZDecimalFieldrrrLrVr_rSrTrArBrXrCrjrErFr
r
r
r�<module>s2
�	*(