d{Bx'6ddlZddlZ ddlmZddlmZmZmZn8#e$r0Z e dkre de ej dnYdZ [ ndZ [ wwxYwej ej edZdZd Zd Zd Zd ZddZdS)N)MigrationContext)configcommandscript__main__z0Alembic Python library is not installed. Error: z alembic.inicg}tj|}d|D}d}|r,||||}|,|S)Nc,i|]}|jpd|jS)base) down_revisionrevision).0ss /builddir/build/BUILDROOT/lve-stats-4.3.2-1.el9.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/lvestats/utils/dbmigrator/dbmigrate_lib.py z,generate_revisions_chain..s/000ao/000r )rScriptDirectory from_configwalk_revisionsappendget) alembic_cfgchain_script_revision_pairscurent_revisions rgenerate_revisions_chainrs F$00==G00,,..000NO > o&&&(,,_== > Mrc|}tj|}|}|pdS)Nr )connectr configureget_current_revision)engine connectioncontext current_revs rget_database_versionr&&s=!!J(44G..00K  & rcxt|}||||kS)zq Check need migrate or downgrade to specific revisions :return bool: True - upgrade; False downgrade )rindex)r revision_from revision_to rev_chains r migration_wayr,-s4 )55I ??= ) )Y__[-I-I IIrc|dd}|dd}tjtj||}|dd||S)zr correct script_location in alembic config for relative path support :param alembic_cfg: :return: alembicscript_locationhere)get_section_optionospathabspathjoinset_section_option)rlocationr0location_correcteds rcorrect_script_locationr96sz --i9JKKH  ) ))V < ->,?@@@6##O rFc|t}ttjt}||jd<|5}||jd<|rtj||nKt|}t|||rtj ||ntj ||ddddS#1swxYwYdS)Nz lve-statsr#) r?r9rConfig ALEMBIC_CONF attributesbeginrstampr&r,upgrade downgrade)r"r;rE lve_stats_cfgrr#database_versions ralembic_migraterJKs0)++)&- *E*EFFK*7K;'  @:/9 |,  @ M+ 7 7 7 73F;; [*:OLL @ _====!+??? @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @sA.CCC)NFN)r2sysalembic.migrationrr.rrr ImportErrore__name__printexitr3r5dirname__file__rBrr&r,r9r?rJrrrUsL  222222///////////: DDDEEE    w||BGOOH55}EE    !!!JJJ   @@@@@@sA&A  A