PageRenderTime 9ms CodeModel.GetById 5ms RepoModel.GetById 0ms app.codeStats 0ms

/lib/galaxy/model/migrate/versions/0029_user_actions.py

https://bitbucket.org/cistrome/cistrome-harvard/
Python | 49 lines | 41 code | 5 blank | 3 comment | 0 complexity | 1ab38ba63f7671f00aef2f8a4dfa2123 MD5 | raw file
  1. """
  2. This migration script adds a user actions 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()
  11. def display_migration_details():
  12. print ""
  13. print "This migration script adds a user actions table to Galaxy."
  14. print ""
  15. # New table to store user actions.
  16. UserAction_table = Table( "user_action", metadata,
  17. Column( "id", Integer, primary_key=True ),
  18. Column( "create_time", DateTime, default=now ),
  19. Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), index=True ),
  20. Column( "session_id", Integer, ForeignKey( "galaxy_session.id" ), index=True ),
  21. Column( "action", Unicode( 255 ) ),
  22. Column( "context", Unicode( 512 ) ),
  23. Column( "params", Unicode( 1024 ) ) )
  24. def upgrade(migrate_engine):
  25. metadata.bind = migrate_engine
  26. display_migration_details()
  27. metadata.reflect()
  28. try:
  29. UserAction_table.create()
  30. except Exception, e:
  31. print str(e)
  32. log.debug( "Creating user_action table failed: %s" % str( e ) )
  33. def downgrade(migrate_engine):
  34. metadata.bind = migrate_engine
  35. metadata.reflect()
  36. try:
  37. UserAction_table.drop()
  38. except Exception, e:
  39. print str(e)
  40. log.debug( "Dropping user_action table failed: %s" % str( e ) )