晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 sh-3ll

HOME


sh-3ll 1.0
DIR:/opt/hc_python/lib/python3.12/site-packages/alembic/testing/
Upload File :
Current File : //opt/hc_python/lib/python3.12/site-packages/alembic/testing/requirements.py
from sqlalchemy.testing.requirements import Requirements

from alembic import util
from ..testing import exclusions


class SuiteRequirements(Requirements):
    @property
    def schemas(self):
        """Target database must support external schemas, and have one
        named 'test_schema'."""

        return exclusions.open()

    @property
    def autocommit_isolation(self):
        """target database should support 'AUTOCOMMIT' isolation level"""

        return exclusions.closed()

    @property
    def materialized_views(self):
        """needed for sqlalchemy compat"""
        return exclusions.closed()

    @property
    def unique_constraint_reflection(self):
        def doesnt_have_check_uq_constraints(config):
            from sqlalchemy import inspect

            insp = inspect(config.db)
            try:
                insp.get_unique_constraints("x")
            except NotImplementedError:
                return True
            except TypeError:
                return True
            except Exception:
                pass
            return False

        return exclusions.skip_if(doesnt_have_check_uq_constraints)

    @property
    def sequences(self):
        """Target database must support SEQUENCEs."""

        return exclusions.only_if(
            [lambda config: config.db.dialect.supports_sequences],
            "no sequence support",
        )

    @property
    def foreign_key_match(self):
        return exclusions.open()

    @property
    def foreign_key_constraint_reflection(self):
        return exclusions.open()

    @property
    def check_constraints_w_enforcement(self):
        """Target database must support check constraints
        and also enforce them."""

        return exclusions.open()

    @property
    def reflects_pk_names(self):
        return exclusions.closed()

    @property
    def reflects_fk_options(self):
        return exclusions.closed()

    @property
    def sqlalchemy_1x(self):
        return exclusions.skip_if(
            lambda config: util.sqla_2,
            "SQLAlchemy 1.x test",
        )

    @property
    def sqlalchemy_2(self):
        return exclusions.skip_if(
            lambda config: not util.sqla_2,
            "SQLAlchemy 2.x test",
        )

    @property
    def asyncio(self):
        def go(config):
            try:
                import greenlet  # noqa: F401
            except ImportError:
                return False
            else:
                return True

        return exclusions.only_if(go)

    @property
    def comments(self):
        return exclusions.only_if(
            lambda config: config.db.dialect.supports_comments
        )

    @property
    def alter_column(self):
        return exclusions.open()

    @property
    def computed_columns(self):
        return exclusions.closed()

    @property
    def autoincrement_on_composite_pk(self):
        return exclusions.closed()

    @property
    def fk_ondelete_is_reflected(self):
        return exclusions.closed()

    @property
    def fk_onupdate_is_reflected(self):
        return exclusions.closed()

    @property
    def fk_onupdate(self):
        return exclusions.open()

    @property
    def fk_ondelete_restrict(self):
        return exclusions.open()

    @property
    def fk_onupdate_restrict(self):
        return exclusions.open()

    @property
    def fk_ondelete_noaction(self):
        return exclusions.open()

    @property
    def fk_initially(self):
        return exclusions.closed()

    @property
    def fk_deferrable(self):
        return exclusions.closed()

    @property
    def fk_deferrable_is_reflected(self):
        return exclusions.closed()

    @property
    def fk_names(self):
        return exclusions.open()

    @property
    def integer_subtype_comparisons(self):
        return exclusions.open()

    @property
    def no_name_normalize(self):
        return exclusions.skip_if(
            lambda config: config.db.dialect.requires_name_normalize
        )

    @property
    def identity_columns(self):
        return exclusions.closed()

    @property
    def identity_columns_alter(self):
        return exclusions.closed()