Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save bbinet/4154142 to your computer and use it in GitHub Desktop.
Save bbinet/4154142 to your computer and use it in GitHub Desktop.
#-*- coding: utf-8 -*-
"""ListePlanUE values should be filtered on ListeNatureUE.value=poteau
Revision ID: 17a6073d49ac
Revises: 22e1c34c8efd
Create Date: 2012-11-19 17:11:27.782388
"""
# revision identifiers, used by Alembic.
revision = '17a6073d49ac'
down_revision = '22e1c34c8efd'
from alembic import op
import sqlalchemy as sa
metadata = sa.MetaData()
l = sa.Table('liste', metadata,
sa.Column('id', sa.Integer, primary_key=True),
sa.Column('type_liste', sa.Unicode(32)),
sa.Column('valeur', sa.Unicode(256)),
schema='app',
)
ll = sa.Table('liste_liste', metadata,
sa.Column('id_liste_parent', sa.Integer,
sa.ForeignKey('app.liste.id'), primary_key=True),
sa.Column('id_liste_child', sa.Integer,
sa.ForeignKey('app.liste.id'), primary_key=True),
schema='app')
def _listeid_select(liste, valeur):
return sa.select([l.c.id], sa.and_(
l.c.type_liste==op.inline_literal(liste),
l.c.valeur==op.inline_literal(valeur)))
def upgrade():
for valeur in [u'carré', u'circulaire', u'ovale', u'rectangulaire',
u'irrégulier']:
op.execute(ll.insert().values(
id_liste_parent=_listeid_select('ListeNatureUE', 'poteau'),
id_liste_child=_listeid_select('ListePlanUE', valeur)))
def downgrade():
for valeur in [u'carré', u'circulaire', u'ovale', u'rectangulaire',
u'irrégulier']:
op.execute(ll.delete().where(sa.and_(
ll.c.id_liste_parent==_listeid_select('ListeNatureUE', 'poteau'),
ll.c.id_liste_child==_listeid_select('ListePlanUE', valeur))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment