/lib/galaxy/model/migrate/versions/0023_page_published_and_deleted_columns.py

https://bitbucket.org/cistrome/cistrome-harvard/ · Python · 37 lines · 23 code · 10 blank · 4 comment · 0 complexity · 0c0b699a31c2160d0c697972936c345c MD5 · raw file

  1. """
  2. Migration script to add columns for tracking whether pages are deleted and
  3. publicly accessible.
  4. """
  5. from sqlalchemy import *
  6. from migrate import *
  7. from migrate.changeset import *
  8. import logging
  9. log = logging.getLogger( __name__ )
  10. metadata = MetaData()
  11. def upgrade(migrate_engine):
  12. metadata.bind = migrate_engine
  13. print __doc__
  14. metadata.reflect()
  15. Page_table = Table( "page", metadata, autoload=True )
  16. c = Column( "published", Boolean, index=True, default=False )
  17. c.create( Page_table, index_name = 'ix_page_published' )
  18. assert c is Page_table.c.published
  19. c = Column( "deleted", Boolean, index=True, default=False )
  20. c.create( Page_table, index_name='ix_page_deleted')
  21. assert c is Page_table.c.deleted
  22. def downgrade(migrate_engine):
  23. metadata.bind = migrate_engine
  24. metadata.reflect()
  25. Page_table = Table( "page", metadata, autoload=True )
  26. Page_table.c.published.drop()
  27. Page_table.c.deleted.drop()