/lib/galaxy/model/migrate/versions/0021_user_prefs.py

https://bitbucket.org/h_morita_dbcls/galaxy-central · Python · 45 lines · 31 code · 10 blank · 4 comment · 4 complexity · 050d439decdf9b9b452852bcb5c1db19 MD5 · raw file

  1. """
  2. This migration script adds a user preferences table to Galaxy.
  3. """
  4. from sqlalchemy import *
  5. from migrate import *
  6. import datetime
  7. now = datetime.datetime.utcnow
  8. import logging
  9. log = logging.getLogger( __name__ )
  10. metadata = MetaData( migrate_engine )
  11. def display_migration_details():
  12. print ""
  13. print "This migration script adds a user preferences table to Galaxy."
  14. print ""
  15. # New table to support user preferences.
  16. UserPreference_table = Table( "user_preference", metadata,
  17. Column( "id", Integer, primary_key=True ),
  18. Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), index=True ),
  19. Column( "name", Unicode( 255 ), index=True),
  20. Column( "value", Unicode( 1024 ) ) )
  21. def upgrade():
  22. display_migration_details()
  23. metadata.reflect()
  24. try:
  25. UserPreference_table.create()
  26. except Exception, e:
  27. print str(e)
  28. log.debug( "Creating user_preference table failed: %s" % str( e ) )
  29. def downgrade():
  30. metadata.reflect()
  31. try:
  32. UserPreference_table.drop()
  33. except Exception, e:
  34. print str(e)
  35. log.debug( "Dropping user_preference table failed: %s" % str( e ) )