Viewing File: /opt/imunify360/venv/lib/python3.11/site-packages/peewee_migrate/__pycache__/auto.cpython-311.pyc



]jb/UdZddlmZddlmZmZmZmZmZm	Z	m
Z
mZmZm
Z
mZddlZddlmZerddlmZddlmZmZd	Zd
ed<dezZd
ed
<ddddddddZd
ed<dZd
ed<dKdZdLdZej dej!dej"eej#eiZ$ded<GddeZdMd$Z%	dNd%d&dOd,Z&dPd/Z'dPd0Z(dPd1Z)dQd4Z*dQd5Z+d6d7dRd:Z,dSd>Z-dTdAZ.dUdDZ/dVdGZ0dWdHZ1dXdJZ2dS)Yz Automatically create migrations.)annotations)
TYPE_CHECKINGAnyCallableDictFinalIterableListOptionalTypeUnioncastN)Column)Migrator)
TModelTypeTParamsz    rINDENT
NEWLINEpw_pext)
ArrayFieldBinaryJSONFieldDateTimeTZFieldHStoreField
IntervalField	JSONField
TSVectorFieldFIELD_MODULES_MAP)zplayhouse.postgres_extzplayhouse.fieldspeewee
PW_MODULESfieldpw.ForeignKeyFieldreturnrc^i}|jd|jd|d<|jd|jd|d<|S)zGet params from the given fk.N'	on_delete	on_update)r'r(r"paramss  J/opt/imunify360/venv/lib64/python3.11/site-packages/peewee_migrate/auto.pyfk_to_paramsr,'sJ
F"4%/444{"4%/444{Mpw.DateTimeFieldcRi}t|jts
|j|d<|S)z)Get params from the given datetime field.formats)
isinstancer0listr)s  r+
dtf_to_paramsr33s,
FemT***!MyMr-cd|jiS)N
max_length)r5fs r+<lambda>r8=s
\1<8r-c8|j|j|j|jdS)N
auto_rounddecimal_places
max_digitsroundingr:r6s r+r8r8>s#l*lJ	  r-z.Dict[Type[pw.Field], Callable[[Any], TParams]]FIELD_TO_PARAMScPeZdZUdZded<dfdZddfd
Zdd
dfdZxZS)rz!Get field's migration parameters.Type[pw.Field]field_classr"pw.Fieldc0tt|j|jt	||j|jf|j|j|j	|j
d|||_|jtvr@|ji|_|jt|j|d|_d|_t%|t&jr>|jj|_|j|jkrdnd|jjjz|_dSdS)N)primary_keycolumn_nameindexuniquez'self'zmigrator.orm['%s'])superr__init__namefind_field_type
field_typenullrErFrGrHr"rBr?extra_parametersupdate	rel_modelto_fieldr1pwForeignKeyField	rel_fieldmodel_meta
table_name)selfr"kwargs	__class__s   r+rJzColumn.__init__Ns&$fd$JE""J	
	

))+<
	

	

	

	

	

..$,(*%!((9I)J5)Q)QRRR
eR/00	!O0DM?ek11)EO,A,LL
NNN		r- spacestrr$ctt|}t|jjd}d|dD\}}}d||||S)z.Generate the field definition for this column.rSc:g|]}|o|S)strip).0ss  r+
<listcomp>z$Column.get_field.<locals>.<listcomp>qs$HHHa!/		HHHr-=z%{name}{space}={space}{module}.{field})rKr"r]module)	rIr	get_fieldrgetrB__name__	partitionformat)rYr]r"rgrK_r[s      r+rhzColumn.get_fieldmsfd##--//"&&t'7'@$GGHH5??33G3GHHHa6==U%>

	
r-FchangercLtt|}|dd|rt	|dd|d<t	|ddp|d|d<|dd|dd|j|d<|jjMt|jjs4t|j
|jj|d	<|S)
z#Generate parameters for self field.backrefNrHFrGr'r(rNdefault)rIrget_field_parameterspopboolnullabler"rrcallablereprdb_value)rYror*r[s   r+rszColumn.get_field_parametersvsvt$$99;;

9d###	+#FJJx$?$?@@F8"6::gu#=#=>>R&BRF7OJJ{D)))JJ{D)))!]F6N:)(4:;M2N2N) $TZ%8%89K%L%L M MF9
r-)r"rC)r\)r]r^r$r^)r$r)	rj
__module____qualname____doc____annotations__rJrhrs
__classcell__)r[s@r+rrIs++>






.3r-rmodel1rmodel2	List[str]cg}j|j}}|j|j}tt|z
}|r1fd|D}|t	g|Ri|t|tz
}	|	r |tg|	Rg}
g}g}t|z
|	z
D]}
|
||
}}t
||}|dd}|dd}|dd}|r|
||f|||
|f||||
||f|
r |tg|
R|D]*\}
}|t|
|+|D]\}
}}|dus|durc||
j
s
||
jr#|t|
|t|
|q|t|
|j}|j}t|t|z
}|fd	|Dt|t|z
}|fd
|D|S)z,Find difference between given peewee models.c g|]
}|Srara)rcrKfield_names1s  r+rezdiff_one.<locals>.<listcomp>s888,t$888r-rNNrGrH)rNT)rHc3K|]V}t|dttfr2t|ddk=t	|dVWdS)rr)rKN)r1r2tuplelen
drop_indexrcrGrs  r+	<genexpr>zdiff_one.<locals>.<genexpr>sqeAhu
..47uQx==13D3D	6a)))3D3D3D3Dr-c3K|]]}t|dttfr9t|ddk=t	|d|dV^dS)rr)rKrHN)r1r2rr	add_indexrs  r+rzdiff_one.<locals>.<genexpr>sweAhu
..47uQx==13D3D	&uQxa9993D3D3D3Dr-)rWfieldssetappend
create_fieldsdrop_fieldscompare_fieldsrt
change_fieldschange_not_nullrHrGrrindexesextend)rrrZchangesmeta1meta2field_names2names1rnames2fields_to_changefields_nullsfields_indexesrKfield1field2diffrNrGrHindexes1indexes2indexes_to_dropindexes_to_addrs`                       @r+diff_onersG<5E<L<L

\!2!2
2F
A8888888}V?f?????@@@

\!2!2
2F
5{63F333444LNL!!F*V399%d+\$-?ff--xx%%$''(D))	4##VTN333t---6#5!!4"7888A}V?.>???@@@"AA
dvt$???@@@@-55eVTMMv~~D!(
9L,>,D
9z&$77888NN9VT&AAABBBBNN:fd334444}H}H(mmc(mm3ONN$]]S]]2NNN#Nr-F)reversemodels1List[TModelType]models2migratorOptional[Migrator]cttdtj|}ttdtj|}|r8t	t|}t	t|}d|Dd|Dg}D]5\}}|vr
|t||6|fdfdDD|fdfdDD|S)	z9Calculate changes for migrations from models2 to models1.rcNi|]"}tt|jj|#Srarr^rWrXrcms  r+
<dictcomp>zdiff_many.<locals>.<dictcomp>)EEE4QW/00!EEEr-cNi|]"}tt|jj|#Srarrs  r+rzdiff_many.<locals>.<dictcomp>rr-rc3FK|]}t|VdS)rN)create_model)rcrKrmodels_map1s  r+rzdiff_many.<locals>.<genexpr>sI	[&:::r-cg|]}|v|	Srara)rcrmodels_map2s  r+rezdiff_many.<locals>.<listcomp>s#DDD1q/C/CQ/C/C/Cr-c3BK|]}t|VdSN)remove_model)rcrKrs  r+rzdiff_many.<locals>.<genexpr>sA,0[&''r-cg|]}|v|	Srara)rcrrs  r+rezdiff_many.<locals>.<listcomp>s$4d4d4d1qXcOcOcQOcOcOcr-)	rr
rSsort_modelsr2reverseditemsrr)	rrrrrrKrrrs	  `    @@r+	diff_manyrs4%r~g'>'>??G4%r~g'>'>??G*x(())x(())EEWEEEKEEWEEEKG#))++OOf{""xD(9HMMMNNNNNNDDDDDDDNN4d4d4d4d4d4d4dNr-
model_typer^c
d}|j}ttfd|jDz}tttddtd|jd|jrtd|jdndt|j	tjrtd	|j	jnd|j
rtd
|j
ndgz}||j||S)z(Generate migrations for the given model.z-class {classname}(pw.Model):
{fields}

{meta}ctg|]4}t|tjr|jdk't	|fi5S)id)r1rSPrimaryKeyFieldrK
field_to_codercr"rZs  r+rez!model_to_code.<locals>.<listcomp>sX	
	
	
ub&899	
?DjD>P>P
%**6**>P>P>Pr-Nzclass Meta:ztable_name = ""z
schema = "zprimary_key = pw.CompositeKeyz
indexes = )	classnamermeta)rWrrjoin
sorted_fieldsfilterrXschemar1rErSCompositeKeyfield_namesrrlrj)rrZtemplaterrs `   r+
model_to_coders0AHD
gll	
	
	
	
+	
	
	
FGLL;;;;;7;{J633T[3333"$"2BODDv\\D<L<X\\\9=M655T\5552


	

	
D"??Z%8d?SSSr-c"dt|fi|zS)z$Generate migrations to create model.z@migrator.create_model
)r)rrZs  r+rrs%
j(K(KF(K(KKKr-c$|j}d|jzS)z$Generate migrations to remove model.zmigrator.remove_model('%s'))rWrX)rrZrs   r+rrsD(4?::r-rrCc
|j}dtd|jdtdtzfd|DzdS)z"Generate migrations to add fields.zmigrator.add_fields(r&', ,c.g|]}t|fddiS)r]Frrs  r+rez!create_fields.<locals>.<listcomp>+s/```PU
e K K5 KF K K```r-))rWrrXrrrrZrs  ` r+rr$sgDD=

````Y_```
a
a	b	b	br-c	x|j}d|jddtt|dS)z%Generate migrations to remove fields.zmigrator.remove_fields('rz, r)rWrXrmaprxrs    r+rr/s>DD		#dF##$$$$r-Tr]r]rucRt|}||rdndS)zGenerate field description.r\r)rrh)r"r]rZcols    r+rr8s(
--C==-2...r-rrrct|t|}}||krddiSt||j|jdt||j|jd}}|d|d}}tt
|t
|z
S)z$Find diffs between the given fields.typeT)rGrH)rOrn)rLrrGrHrsdictrr)rrftype1ftype2col1col2params1params2s        r+rr>s$V,,of.E.EFF
~	v&,&-(X(XYYYv&,&-(X(XYYYD
	
!!!..!!!..GGMMOO$$s7==??';';;<<<r-	model_clspw.Tuple[pw.Field, Dict]cv|j}d|jddtzd|DdS)z%Generate migrations to change fields.zmigrator.change_fields('rrc6g|]\}}t|dS)Frr)rcr7rs   r+rez!change_fields.<locals>.<listcomp>Ts)RRR4mAU;;;RRRr-r)rWrXrr)rrrs   r+rrOsH?DD	wRR6RRRSSSSr-rKrNcX|j}|rdnd}d|d|jdt|dS)Generate migrations.
drop_not_nulladd_not_nullz	migrator.z('rr)rWrXrx)rrKrNr	operations     r+rrXs;D#';^II&/ii$t****MMr-Union[str, Iterable[str]]rHcv|j}t|d}d|jd|d|dS)r()[]zmigrator.add_index('rz	, unique=rrWrxrbrX)rrKrHrcolumnss     r+rr_sFD4jjv&&GQ$/QQgQQQQQQr-cp|j}t|d}d|jd|dS)rrzmigrator.drop_index('rrr)rrKrrs    r+rrfs>D4jjv&&GA4?AAwAAAAr-rAct|}|jtvr)|D]}|jtvr|cS|Sr)rrzr!mro)r"ftypeclss   r+rLrLmsTKKEz))99;;		C~++


,Lr-)r"r#r$r)r"r.r$r)rrrrr$rr)rrrrrrr$r)rrr$r^)rrrrCr$r^)r"rCr]rur$r^)rrCrrCr$r)rrrrr$r^)rrrKr^rNrur$r^)rrrKrrHrur$r^)rrrKrr$r^)r"rCr$rA)3r|
__future__rtypingrrrrrr	r
rrr
rr rSplayhouse.reflectionrVanilaColumnrrtypesrrrr}rrr!r,r3	CharFieldDecimalFieldrT
DateTimeFieldr?rrrrrrrrrrrrrrLrar-r+<module>r	se&&&""""""777777+""""""********  K
JJJJ				L88Om
C



;;;;;\;;;|IIII^$($

$$$$$$NTTTT>LLLL
;;;;59//////===="NNNNRRRRBBBBr-
Back to Directory File Manager