/lib/galaxy/model/migrate/versions/0024_page_slug_unique_constraint.py
https://bitbucket.org/cistrome/cistrome-harvard/ · Python · 45 lines · 23 code · 14 blank · 8 comment · 1 complexity · 3ef5b1186617ff75373e2e4fda180769 MD5 · raw file
- """
- Remove unique constraint from page slugs to allow creating a page with
- the same slug as a deleted page.
- """
- from sqlalchemy import *
- from migrate import *
- from migrate.changeset import *
- import datetime
- now = datetime.datetime.utcnow
- import logging
- log = logging.getLogger( __name__ )
- metadata = MetaData()
- def upgrade(migrate_engine):
- metadata.bind = migrate_engine
- print __doc__
- metadata.reflect()
- Page_table = Table( "page", metadata, autoload=True )
- try:
- # Sqlite doesn't support .alter, so we need to drop an recreate
- i = Index( "ix_page_slug", Page_table.c.slug )
- i.drop()
- i = Index( "ix_page_slug", Page_table.c.slug, unique=False )
- i.create()
- except:
- # Mysql doesn't have a named index, but alter should work
- Page_table.c.slug.alter( unique=False )
- def downgrade(migrate_engine):
- metadata.bind = migrate_engine
- metadata.reflect()
- #Page_table = Table( "page", metadata, autoload=True )
- #Page_table.c.slug.alter( unique=True )