bgDRddlmZddlmZddlmZddlmZGddeZdS) ) Requirements)util) sqla_compat) exclusionsc<eZdZedZedZedZedZedZedZ edZ edZ ed Z ed Z ed Zed Zed ZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZ edZ!edZ"ed Z#ed!Z$ed"Z%ed#Z&ed$Z'ed%Z(d&S)'SuiteRequirementsc(tjS)zXTarget database must support external schemas, and have one named 'test_schema'.ropenselfs m/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/alembic/testing/requirements.pyschemaszSuiteRequirements.schemas     c(tjS)z;target database should support 'AUTOCOMMIT' isolation levelrclosedr s rautocommit_isolationz&SuiteRequirements.autocommit_isolations """rc(tjS)zneeded for sqlalchemy compatrr s rmaterialized_viewsz$SuiteRequirements.materialized_viewss """rc0d}tj|S)Ncddlm}||j} |dn(#t$rYdSt $rYdSt $rYnwxYwdS)Nr)inspectxTF) sqlalchemyrdbget_unique_constraintsNotImplementedError TypeError Exception)configrinsps r doesnt_have_check_uq_constraintszXSuiteRequirements.unique_constraint_reflection..doesnt_have_check_uq_constraintss * * * * * *769%%D ++C0000&   tt   tt    5s. A A AArskip_if)rr%s runique_constraint_reflectionz.SuiteRequirements.unique_constraint_reflections%   !"BCCCrc0tjdgdS)z'Target database must support SEQUENCEs.c$|jjjSN)rdialectsupports_sequencesr#s rz-SuiteRequirements.sequences..2sFI-@rzno sequence supportronly_ifr s r sequenceszSuiteRequirements.sequences-s%! @ @ A !   rc(tjSr+r r s rforeign_key_matchz#SuiteRequirements.foreign_key_match6   rc(tjSr+r r s r!foreign_key_constraint_reflectionz3SuiteRequirements.foreign_key_constraint_reflection:r5rc(tjS)zMTarget database must support check constraints and also enforce them.r r s rcheck_constraints_w_enforcementz1SuiteRequirements.check_constraints_w_enforcement>rrc(tjSr+rr s rreflects_pk_namesz#SuiteRequirements.reflects_pk_namesE """rc(tjSr+rr s rreflects_fk_optionsz%SuiteRequirements.reflects_fk_optionsIr<rc.tjddS)Nctj Sr+)rsqla_14r.s rr/z1SuiteRequirements.sqlalchemy_14..Ps t|+rz"SQLAlchemy 1.4 or greater requiredr&r s r sqlalchemy_14zSuiteRequirements.sqlalchemy_14Ms ! + + 0   rc.tjddS)NctjSr+rsqla_2r.s rr/z1SuiteRequirements.sqlalchemy_1x..Ws4;rzSQLAlchemy 1.x testr&r s r sqlalchemy_1xzSuiteRequirements.sqlalchemy_1xTs ! & & !   rc.tjddS)Nctj Sr+rEr.s rr/z0SuiteRequirements.sqlalchemy_2..^s t{?rzSQLAlchemy 2.x testr&r s r sqlalchemy_2zSuiteRequirements.sqlalchemy_2[s ! * * !   rc,tjdS)Nc$|jjjSr+)rr,supports_commentsr.s rr/z,SuiteRequirements.comments..es69,>rr0r s rcommentszSuiteRequirements.commentsbs! > >   rc(tjSr+r r s r alter_columnzSuiteRequirements.alter_columnhr5rc(tjSr+rr s rcomputed_columnsz"SuiteRequirements.computed_columnslr<rcbtjtjtjSr+)rr1BooleanPredicater has_computedr s rcomputed_columns_apiz&SuiteRequirements.computed_columns_apip(!  ' (@ A A   rcbtjtjtjSr+)rr1rTrhas_computed_reflectionr s rcomputed_reflects_normallyz,SuiteRequirements.computed_reflects_normallyvs(!  ' (K L L   rc(tjSr+rr s r#computed_reflects_as_server_defaultz5SuiteRequirements.computed_reflects_as_server_default|r<rc(tjSr+rr s r)computed_doesnt_reflect_as_server_defaultz;SuiteRequirements.computed_doesnt_reflect_as_server_defaultr<rc(tjSr+rr s rautoincrement_on_composite_pkz/SuiteRequirements.autoincrement_on_composite_pkr<rc(tjSr+rr s rfk_ondelete_is_reflectedz*SuiteRequirements.fk_ondelete_is_reflectedr<rc(tjSr+rr s rfk_onupdate_is_reflectedz*SuiteRequirements.fk_onupdate_is_reflectedr<rc(tjSr+r r s r fk_onupdatezSuiteRequirements.fk_onupdater5rc(tjSr+r r s rfk_ondelete_restrictz&SuiteRequirements.fk_ondelete_restrictr5rc(tjSr+r r s rfk_onupdate_restrictz&SuiteRequirements.fk_onupdate_restrictr5rc(tjSr+r r s rfk_ondelete_noactionz&SuiteRequirements.fk_ondelete_noactionr5rc(tjSr+rr s r fk_initiallyzSuiteRequirements.fk_initiallyr<rc(tjSr+rr s r fk_deferrablezSuiteRequirements.fk_deferrabler<rc(tjSr+rr s rfk_deferrable_is_reflectedz,SuiteRequirements.fk_deferrable_is_reflectedr<rc(tjSr+r r s rfk_nameszSuiteRequirements.fk_namesr5rc(tjSr+r r s rinteger_subtype_comparisonsz-SuiteRequirements.integer_subtype_comparisonsr5rc,tjdS)Nc$|jjjSr+)rr,requires_name_normalizer.s rr/z5SuiteRequirements.no_name_normalize..s69,Drr&r s rno_name_normalizez#SuiteRequirements.no_name_normalizes! D D   rc(tjSr+rr s ridentity_columnsz"SuiteRequirements.identity_columnsr<rc(tjSr+rr s ridentity_columns_alterz(SuiteRequirements.identity_columns_alterr<rcbtjtjtjSr+)rr1rTr has_identityr s ridentity_columns_apiz&SuiteRequirements.identity_columns_apirWrc(tjSr+rr s rsupports_identity_on_nullz+SuiteRequirements.supports_identity_on_nullr<rN))__name__ __module__ __qualname__propertyrrrr(r2r4r7r9r;r>rBrGrJrNrPrRrVrZr\r^r`rbrdrfrhrjrlrnrprrrtrvrzr|r~rrrrr r s !!X! ##X# ##X#DDXD"  X !!X!!!X!!!X! ##X###X#  X   X   X   X !!X!##X#  X   X ##X###X###X###X###X#!!X!!!X!!!X!!!X!##X###X###X#!!X!!!X!  X ##X###X#  X ##X###rr N) sqlalchemy.testing.requirementsralembicr alembic.utilrtestingrr rrrrs888888$$$$$$ B#B#B#B#B# B#B#B#B#B#r