本文整理汇总了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__)
示例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