id*ddlZddlZddlZddlZddlmZddlmZddlm Z ddlm Z ddlm Z ddlm Z dd l m Z dd l mZd Zd"dZdZdZdZd#dZd$dZd%dZd&dZdZdZ d'dZdZdZd Zd!ZdS)(N)config) provision)util)command)script)Script)ScriptDirectoryc<tjrdtjzSdS)Nz scratch_%sscratch)rFOLLOWER_IDENTH/opt/cloudlinux/venv/lib/python3.11/site-packages/alembic/testing/env.py_get_staging_directoryrs i666yrTgenericFct}|rtjt d}t j||||r[ tj|dn#t$rYnwxYwttj|dd|vrdndtj |}|S)Nscripts)templateenv.pypep3147simple)_testing_configospathjoinrrinitrload_python_fileAttributeErrormake_sourcelessr r from_config)creater sourcelesscfgrscs r staging_envr's   C w||244i@@  S$2222   %dH5555!        T8,,&*44 (      + +C 0 0B IsA-- A:9A:cddlm}|jt jt ddS)NrenginesT)sqlalchemy.testingr*testing_reaper close_allshutilrmtreerr)s rclear_staging_envr0<sH****** $$&&& M(**D11111rctjtd}tj|d}t |d5}||ddddS#1swxYwYdS)Nrzscript.py.makow)rrrropenwrite)txtdir_rfs rscript_file_fixturer8Cs 7<<.00) < >C F000 C   '''>>>  z-AAA))x       sA??BBchddl}|||dkrjtj|}tjjd}tj |\}}||z}tj |||}ntj|}tj |dS)Nrr) py_compilecompilerr: importlib machineryBYTECODE_SUFFIXESrrsplitextr.mover;)rstylerr<suffixfilepathextsimple_pyc_paths rr!r!st *400$6q9((.. #"V+ Ho..."*400IdOOOOOrc tj}tj}tj}tj|}|j|dddt ||d|z|j|dd|t ||d|d|d d |j|d d|t ||d |d|d|||fS)Nz revision aTbase)refreshheadz"Rev A" revision = '%s' down_revision = None from alembic import op def upgrade(): op.execute("CREATE STEP 1") def downgrade(): op.execute("DROP STEP 1") z revision bu/# coding: utf-8 "Rev B, méil, %3" revision = '' down_revision = 'z}' from alembic import op def upgrade(): op.execute("CREATE STEP 2") def downgrade(): op.execute("DROP STEP 2") zutf-8)r~z revision cz"Rev C" revision = 'z}' from alembic import op def upgrade(): op.execute("CREATE STEP 3") def downgrade(): op.execute("DROP STEP 3") rr|r r"generate_revisionr)r%abcr s rthree_rev_fixturer4s5 A A A  ( - -FFQ dHHHH   ! ,FQ dCCCC         ',FQ dCCCC " 11aaa! * a7Nrc tj}tj}tj}tj|}|j|d|ddt ||d|d|d|j|d|ddt ||d|d|d |j|d |ddt ||d |d|d |||fS) z:Create a multiple head fixture from the three-revs fixturezrevision d from bT)rsplicerz"Rev D" revision = 'rz}' from alembic import op def upgrade(): op.execute("CREATE STEP 4") def downgrade(): op.execute("DROP STEP 4") zrevision e from dz"Rev E" revision = 'z}' from alembic import op def upgrade(): op.execute("CREATE STEP 5") def downgrade(): op.execute("DROP STEP 5") zrevision f from bz"Rev F" revision = 'z}' from alembic import op def upgrade(): op.execute("CREATE STEP 6") def downgrade(): op.execute("DROP STEP 6") r)r%rrrder7r s rmulti_heads_fixturersN A A A  ( - -FF QtT " 11aaa! ,F QtT " 11aaa! ,F QtT " 11aaa! , a7Nrc ztjtd}dtjjjv}d|}dd| D}td|d|rdnd d |d|d S) z?alembic.ini fixture to work exactly with the 'multidb' templaterrCz, z c36K|]\}}d|d|jVdS)[z] sqlalchemy.url = N)rB).0keyvalues r z*_multidb_testing_config..sI C+.##uyy9rrLz( sourceless = false sqlalchemy.future = rOrPz databases = aH [loggers] keys = root [handlers] keys = console [logger_root] level = WARN handlers = console qualname = [handler_console] class = StreamHandler args = (sys.stderr,) level = NOTSET formatter = generic [formatters] keys = generic [formatter_generic] format = %(levelname)-5.5s [%(name)s] %(message)s datefmt = %H:%M:%S ) rrrrrrTrUrVkeysitemsrW)r*r6rX databasess r_multidb_testing_configrs 7<<.00) < FN)FF)FrR)r]rR)rlF)importlib.machineryrrr.rsr+rrrRrrFrr r r rr'r0r8r=rIrYr\rarWrrr!rrrrrrrs %%%%%%((((((""""""$$$$$$!!!!H222(PPPP1111h....b%%%%PNNN>C    8,JJJZVVVr/////r