o
    i3                     @   s@   d Z ddlmZ ddlZdZdZdZdZdddZ	d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                   C   s  t jddd t jddd t jddd t jddd t d t jddd t jd	dd t d t jd
dd t jddd t d t jddd t jddd t jddd t jddd t jddd t jddd t d t d t dtjdtjddddtjdtjddtjddddd tjd!t	 dd tjd"t
 dd tjd#t dtd$d%tjd&t dtd$d%tjd't dd(d%tjd)tjd*ddd+d%tjd,tjd-ddd tjd.tjddtjdd/ddd tjd0t dd tjd1tjdd2dd tjd3tjdd2dd tjd4tjdd2dd tjd5tjdd2dd tjd6d7d8tjd9d:d8 t jd;dd!gdd< t d=ddg t d>dd)g t d?dd,g t d@dd&g t dAdd'g t dBdd1g t dCdd4g t dDdd)d,g t dEdd5g t dFtjdGtjddtjdHdddd tjdItjd-dtjdJdKddd tjdLtjdMdddNd%tjdOtjdd2dd tjdGdIdPd8 t dQdFdIg t dRdFdGg t dStjdGtjddtjdHdddd tjdTtjdUddd tjdVt dd(d%tjdWtjdXddd tjdYtdZd[dd tjd\t dd tjd]t dd tjdGdTdVd^d8	 t d_dSdTg t d`dSdTdWg t dadSdTdYg t 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r5   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~   r~   P/mnt/c/Users/fbmor/ComfyUI/alembic_db/versions/0002_merge_to_asset_references.pyupgrade   s  






*






r   c                   C   s  t jddd t jddd t jddd t jddd t d t jddd t jd	dd t d t jd
dd t jddd t jddd t jddd t jddd t jddd t jddd t jddd t jddd t jddd t d t d t dtjdtjddddtjdtjddddd tjd!tjd"ddd#tjd$tjddtjd%d&d'dd#tjd(tjddtjd%d)d'dd#tjd*t	 dd#tjd+tj
dd,dd#tjd-tj
dd,dd#tjd.tj
dd,dd#tjd$dd!d/d0 t d1ddg t d2dd$g t d3dd!g t d4dd+g t d5dd.g t d6ddd!g t d7tjdt ddd8tjd$tjddtjd%d9d'dd#tjd:t dd#tjd;t dd#tjd<t dtd=d tjd>d?d0tjd:d@d0 t dAd7d:g t dBd7d$g t dCtjdDtjddtjdEd9d'dd#tjdFtjd"dtjdGd&d'dd#tjdHtjdIdddJd tjdKtj
dd,dd#tjdDdFdLd0 t dMdCdFg t dNdCdDg t dOtjdDtjddtjdEd9d'dd#tjdPtjdQddd#tjdRt ddSd tjdTtjdUddd#tjdVtdWdXdd#tjdYt dd#tjdZt	 dd#tjdDdPdRd[d0	 t d\dOdPg t d]dOdPdTg t d^dOdPdVg t 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.
    rj   r[   r   ri   rh   rg   rZ   rO   rY   rN   r   rM   rL   rK   rJ   rI   rH   rG   rF   rD   r   r   r   r   r   Tr    r2   r3   Fr4   r-   r5   r6   r'   r"   r#   rS   r%   r7   r8   r9   r:   r;   r=   r>   uq_assets_info_asset_owner_namerB   r   r   r   r   r   r   r   )r!   autoincrementr$   r)   r*   r+   r,   r@   ck_acs_mtime_nonneguq_asset_cache_state_file_pathr   r   r   asset_info_idzassets_info.idrQ   rR   rT   rU   rV   rW   pk_asset_info_tagsr   r   r   r\   r]   r^   r1   r_   r`   ra   rb   rc   rd   re   pk_asset_info_metar   r   r
   r   N)r   rk   rl   rm   rn   ro   rp   rq   rr   rx   ry   UniqueConstraintr{   rw   rs   rt   ru   rv   rz   r|   r}   r~   r~   r~   r   	downgrade   s   



"""
"""r   )r   N)__doc__alembicr   
sqlalchemyro   revisiondown_revisionbranch_labels
depends_onr   r   r~   r~   r~   r   <module>   s    
 