当前位置: 首页>>代码示例>>Python>>正文


Python DBSession.execute方法代码示例

本文整理汇总了Python中vigilo.models.session.DBSession.execute方法的典型用法代码示例。如果您正苦于以下问题:Python DBSession.execute方法的具体用法?Python DBSession.execute怎么用?Python DBSession.execute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vigilo.models.session.DBSession的用法示例。


在下文中一共展示了DBSession.execute方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: upgrade

# 需要导入模块: from vigilo.models.session import DBSession [as 别名]
# 或者: from vigilo.models.session.DBSession import execute [as 别名]
def upgrade(migrate_engine, actions):
    """
    Migre le modèle.

    @param migrate_engine: Connexion à la base de données,
        pouvant être utilisée durant la migration.
    @type migrate_engine: C{Engine}
    @param actions: Conteneur listant les actions à effectuer
        lorsque cette migration aura été appliquée.
    @type actions: C{MigrationActions}
    """

    found = DBSession.execute(
        "SELECT COUNT(*) AS found "
        "FROM pg_catalog.pg_constraint "
        "WHERE conname = :constraint",
        params={
            'constraint': '%smapservicelink_idds_in_fkey' % DB_BASENAME,
        }).fetchone().found

    # Si le modèle a été installé après la migration 011,
    # les clés étrangères ont déjà le bon nom et il n'y a
    # rien à faire.
    if found:
        return

    MigrationDDL(
        [
            # Suppression des anciennes clés étrangères.
            # 1. idds_from_to_to
            "ALTER TABLE %(db_basename)s%(table)s "
            "DROP CONSTRAINT %(db_basename)s%(table)s_idds_from_to_to_fkey",
            # 2. idds_to_to_from
            "ALTER TABLE %(db_basename)s%(table)s "
            "DROP CONSTRAINT %(db_basename)s%(table)s_idds_to_to_from_fkey",

            # Création des nouvelles clés.
            # 1. idds_out
            'ALTER TABLE %(db_basename)s%(table)s '
            'ADD CONSTRAINT "%(db_basename)s%(table)s_idds_out_fkey" '
            'FOREIGN KEY (idds_out) '
            'REFERENCES %(db_basename)s%(remote_table)s(%(remote_column)s) '
            'ON UPDATE CASCADE ON DELETE CASCADE',
            # 2. idds_in
            'ALTER TABLE %(db_basename)s%(table)s '
            'ADD CONSTRAINT "%(db_basename)s%(table)s_idds_in_fkey" '
            'FOREIGN KEY (idds_in) '
            'REFERENCES %(db_basename)s%(remote_table)s(%(remote_column)s) '
            'ON UPDATE CASCADE ON DELETE CASCADE',
        ],
        context={
            'db_basename': DB_BASENAME,
            'table': 'mapservicelink',
            'remote_table': 'perfdatasource',
            'remote_column': 'idperfdatasource',
        }
    ).execute(DBSession, tables.HighLevelService.__table__)
开发者ID:vigilo,项目名称:models,代码行数:59,代码来源:023_Rename_old_foreign_keys.py

示例2: upgrade

# 需要导入模块: from vigilo.models.session import DBSession [as 别名]
# 或者: from vigilo.models.session.DBSession import execute [as 别名]
def upgrade(migrate_engine, actions):
    """
    Migre le modèle.

    @param migrate_engine: Connexion à la base de données,
        pouvant être utilisée durant la migration.
    @type migrate_engine: C{Engine}
    @param actions: Conteneur listant les actions à effectuer
        lorsque cette migration aura été appliquée.
    @type actions: C{MigrationActions}
    """

    owner = DBSession.execute(
        'SELECT tableowner '
        'FROM pg_catalog.pg_tables '
        'WHERE schemaname = :schema '
        'AND tablename = :table;',
        params={
            'schema': "public",
            'table': tables.SupItem.__tablename__,
        }).fetchone().tableowner

    MigrationDDL(
        [
            "ALTER TABLE %(fullname)s ADD COLUMN idconffile INTEGER",
            "ALTER TABLE %(fullname)s ADD CONSTRAINT %(fullname)s_idconffile_fkey "
                "FOREIGN KEY(idconffile) REFERENCES %(db_basename)sconffile(idconffile) "
                "ON UPDATE CASCADE ON DELETE CASCADE",

            # Correction des droits sur ConfFile.
            "ALTER TABLE %(db_basename)sconffile OWNER TO %(owner)s",
        ],
        # Le nom de la contrainte dépend du préfixe utilisé.
        context={
            'db_basename': DB_BASENAME,
            'owner': owner,
        }
    ).execute(DBSession, tables.Host.__table__)

    # Nécessite la mise à jour de VigiReport.
    actions.upgrade_vigireport = True
开发者ID:vigilo,项目名称:models,代码行数:43,代码来源:009_Link_between_Host_and_ConfFile.py


注:本文中的vigilo.models.session.DBSession.execute方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。