
    +j2                     >    d Z ddlmZ ddlZdZdZdZdZd	dZ	d	dZ
dS )
a	  
Merge AssetInfo and AssetCacheState into unified asset_references table.

This migration drops old tables and creates the new unified schema.
All existing data is discarded.

Revision ID: 0002_merge_to_asset_references
Revises: 0001_assets
Create Date: 2025-02-11
    )opN0002_merge_to_asset_references0001_assetsreturnc                     t          j        dd           t          j        dd           t          j        dd           t          j        dd           t          j        d           t          j        dd           t          j        d	d           t          j        d           t          j        d
d           t          j        dd           t          j        d           t          j        dd           t          j        dd           t          j        dd           t          j        dd           t          j        dd           t          j        dd           t          j        d           t          j        d           t          j        dt          j        dt          j        d          d          t          j        dt          j        d          t          j        dd          d           t          j        d!t          j	                    d           t          j        d"t          j
                    d           t          j        d#t          j                    dt          j        d$          %          t          j        d&t          j                    dt          j        d$          %          t          j        d't          j                    dd(%          t          j        d)t          j        d*          dd+%          t          j        d,t          j        d-          d           t          j        d.t          j        d          t          j        dd/          d           t          j        d0t          j                    d           t          j        d1t          j        d2          d           t          j        d3t          j        d2          d           t          j        d4t          j        d2          d           t          j        d5t          j        d2          d           t          j        d6d78          t          j        d9d:8                     t          j        d;dd!gd<           t          j        d=ddg           t          j        d>dd)g           t          j        d?dd,g           t          j        d@dd&g           t          j        dAdd'g           t          j        dBdd1g           t          j        dCdd4g           t          j        dDdd)d,g           t          j        dEdd5g           t          j        dFt          j        dGt          j        d          t          j        dHd          d           t          j        dIt          j        d-          t          j        dJdK          d           t          j        dLt          j        dM          ddN%          t          j        dOt          j        d2          d           t          j        dGdIdP8                     t          j        dQdFdIg           t          j        dRdFdGg           t          j        dSt          j        dGt          j        d          t          j        dHd          d           t          j        dTt          j        dU          d           t          j        dVt          j                    dd(%          t          j        dWt          j        dX          d           t          j        dYt          j        dZd[          d           t          j        d\t          j                    d           t          j        d]t          j                    d           t          j        dGdTdVd^8          	  	         t          j        d_dSdTg           t          j        d`dSdTdWg           t          j        dadSdTdYg           t          j        dbdSdTd\g           d S )cNix_asset_info_meta_key_val_boolasset_info_meta
table_nameix_asset_info_meta_key_val_numix_asset_info_meta_key_val_strix_asset_info_meta_key ix_asset_info_tags_asset_info_idasset_info_tagsix_asset_info_tags_tag_nameix_asset_cache_state_asset_idasset_cache_stateix_asset_cache_state_file_pathix_assets_info_owner_nameassets_infoix_assets_info_last_access_timeix_assets_info_created_atix_assets_info_nameix_assets_info_asset_idix_assets_info_owner_idDELETE FROM assetsasset_referencesid$   lengthTprimary_keyasset_id	assets.idCASCADEondeleteFnullable	file_pathmtime_nsneeds_verifyfalser*   server_default
is_missingenrichment_level0owner_id    name   
preview_idSET NULLuser_metadata
created_attimezone
updated_atlast_access_time
deleted_at%(mtime_ns IS NULL) OR (mtime_ns >= 0)ck_ar_mtime_nonnegr7   z/enrichment_level >= 0 AND enrichment_level <= 2ck_ar_enrichment_level_rangeuq_asset_references_file_path)uniqueix_asset_references_asset_idix_asset_references_owner_idix_asset_references_nameix_asset_references_is_missing$ix_asset_references_enrichment_levelix_asset_references_created_at$ix_asset_references_last_access_timeix_asset_references_owner_nameix_asset_references_deleted_atasset_reference_tagsasset_reference_idzasset_references.idtag_name	tags.nameRESTRICTorigin    manualadded_atpk_asset_reference_tags ix_asset_reference_tags_tag_name*ix_asset_reference_tags_asset_reference_idasset_reference_metakey   ordinalval_str   val_num&   
   val_boolval_jsonpk_asset_reference_metaix_asset_reference_meta_key#ix_asset_reference_meta_key_val_str#ix_asset_reference_meta_key_val_num$ix_asset_reference_meta_key_val_bool)r   
drop_index
drop_tableexecutecreate_tablesaColumnString
ForeignKeyText
BigIntegerBooleantextIntegerJSONDateTimeCheckConstraintcreate_indexPrimaryKeyConstraintNumeric     R/home/wildlama/comfy/ComfyUI/alembic_db/versions/0002_merge_to_asset_references.pyupgrader      s3   M3@QRRRRM2?PQQQQM2?PQQQQM*7HIIIIM#$$$M4ARSSSSM/<MNNNNM#$$$M1>QRRRRM2?RSSSSM%&&&M--HHHHM3NNNNM--HHHHM'MBBBBM+FFFFM+FFFFM-    J#$$$ O
	$	,,,$???
	IR   M+	:::		
 	
 	
 		+rwyy4888
	*bmoo===
	JLL77++		
 	
 	
 		"*,,rwwGWGW	
 	
 	
 		$bjllUSVWWW
	*bis333eTVWWW
	&")3///%@@@
	IR   M+
;;;		
 	
 	
 		/2799t<<<
	,U ; ; ;eLLL
	,U ; ; ;eLLL
	$bk5&A&A&AERRR
	,U ; ; ;dKKK
3:N	
 	
 	
 	=/	
 	
 	
K) ) )T O');k]SW    O24FUUUO24FUUUO.0BVHMMMO46H<.YYYO.0BEWDX   O46H<.YYYO.0BEWDX   O(*<z6>R   O46H<.YYY O
	 IR   M/)DDD		
 	
 	
 		IS!!!M+
;;;		
 	
 	
 		bir***U8	
 	
 	
 		*bk5999EJJJ
 *3L	
 	
 	
%  , O*,BZL   O4	   O
	 IR   M/)DDD		
 	
 	
 		%#...???
	)RZ\\E#NNN
	)RYd333dCCC
	)RZB//$???
	*bjllT:::
	*bgii$777
 %9R	
 	
 	
  $ O13IE7SSSO-/EyGY   O-/EyGY   O.	
    r   c                  z   t          j        dd           t          j        dd           t          j        dd           t          j        dd           t          j        d           t          j        dd           t          j        d	d           t          j        d           t          j        d
d           t          j        dd           t          j        dd           t          j        dd           t          j        dd           t          j        dd           t          j        dd           t          j        dd           t          j        dd           t          j        dd           t          j        d           t          j        d           t          j        dt          j        dt          j        d          d          t          j        dt          j        d          dd           t          j        d!t          j        d"          d#          t          j        d$t          j        d          t          j        d%d&'          d#          t          j        d(t          j        d          t          j        d%d)'          d#          t          j        d*t          j	                    d#          t          j        d+t          j
        d,          d#          t          j        d-t          j
        d,          d#          t          j        d.t          j
        d,          d#          t          j        d$dd!d/0                     t          j        d1ddg           t          j        d2dd$g           t          j        d3dd!g           t          j        d4dd+g           t          j        d5dd.g           t          j        d6ddd!g           t          j        d7t          j        dt          j                    dd8          t          j        d$t          j        d          t          j        d%d9'          d#          t          j        d:t          j                    d#          t          j        d;t          j                    d#          t          j        d<t          j                    dt          j        d=                     t          j        d>d?0          t          j        d:d@0                     t          j        dAd7d:g           t          j        dBd7d$g           t          j        dCt          j        dDt          j        d          t          j        dEd9'          d#          t          j        dFt          j        d"          t          j        dGd&'          d#          t          j        dHt          j        dI          ddJ           t          j        dKt          j
        d,          d#          t          j        dDdFdL0                     t          j        dMdCdFg           t          j        dNdCdDg           t          j        dOt          j        dDt          j        d          t          j        dEd9'          d#          t          j        dPt          j        dQ          d#          t          j        dRt          j                    ddS           t          j        dTt          j        dU          d#          t          j        dVt          j        dWdX          d#          t          j        dYt          j                    d#          t          j        dZt          j	                    d#          t          j        dDdPdRd[0          	  	         t          j        d\dOdPg           t          j        d]dOdPdTg           t          j        d^dOdPdVg           t          j        d_dOdPdYg           d`S )aa=  Reverse 0002_merge_to_asset_references: drop new tables, recreate old schema.

    NOTE: Data is not recoverable. The upgrade discards all rows from the old
    tables and truncates assets. After downgrade the old schema will be empty.
    A filesystem rescan will repopulate data once the older code is running.
    rl   r]   r
   rk   rj   ri   r\   rQ   r[   rP   r   rO   rN   rM   rL   rK   rJ   rI   rH   rF   r   r   r   r   r    Tr"   r4   r5   Fr6   r/   r7   r8   r)   r$   r%   rU   r'   r9   r:   r;   r<   r=   r?   r@   uq_assets_info_asset_owner_namerD   r   r   r   r   r   r   r   )r#   autoincrementr&   r+   r,   r-   r.   rB   ck_acs_mtime_nonneguq_asset_cache_state_file_pathr   r   r   asset_info_idzassets_info.idrS   rT   rV   rW   rX   rY   pk_asset_info_tagsr   r   r	   r^   r_   r`   r3   ra   rb   rc   rd   re   rf   rg   pk_asset_info_metar   r   r   r   N)r   rm   rn   ro   rp   rq   rr   rs   rt   rz   r{   UniqueConstraintr}   ry   ru   rv   rw   rx   r|   r~   r   r   r   r   	downgrader      s}    M8E[\\\\M7DZ[[[[M7DZ[[[[M/<RSSSSM()))M>KabbbbM4AWXXXXM()))M2?QRRRRM2?QRRRRM8EWXXXXM2?QRRRRM8EWXXXXM2?QRRRRM,9KLLLLM0=OPPPPM0=OPPPPM1>PQQQQM$%%% J#$$$ O
	$	,,,$???
	*bis333eTVWWW
	&")3///%@@@
	*bir222BM+Xb4c4c4cnsttt
	,	 4 4 4bmKZd6e6e6eptuuu
	/2799t<<<
	,U ; ; ;eLLL
	,U ; ; ;eLLL
	$bk5&A&A&AERRR
J
FAbccc   O-}zlKKKO-}zlKKKO)=6(CCCO/OOOO5}GYFZ[[[O/V@TUUUO
	$
$dKKK
	*bir222BM+Xa4b4b4bmrsss
	+rwyy5999
	*bmoo===
	."*,,rwW^O_O_```
BI^___
K.NOOO	 	 	 O46IK=YYYO35H:,WWWO
	/29B#7#7#7GWbk9l9l9lw|}}}
	*bis333R];Yc5d5d5dotuuu
	(BIR0005QYZZZ
	*bk5999EJJJ
BVWWW   O13DzlSSSO68IOK\]]]O
	/29B#7#7#7GWbk9l9l9lw|}}}
	%#...???
	)RZ\\E#NNN
	)RYd333dCCC
	)RZB//$???
	*bjllT:::
	*bgii$777
	H\]]]
 
 
 O,.?%IIIO46G%QZI[\\\O46G%QZI[\\\O57H5R\J]^^^^^r   )r   N)__doc__alembicr   
sqlalchemyrq   revisiondown_revisionbranch_labels
depends_onr   r   r   r   r   <module>r      s   	 	          +
W W W Wt\_ \_ \_ \_ \_ \_r   