PageRenderTime 22ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 0ms

/lib/galaxy/model/migrate/versions/0066_deferred_job_and_transfer_job_tables.py

https://bitbucket.org/cistrome/cistrome-harvard/
Python | 70 lines | 47 code | 14 blank | 9 comment | 8 complexity | c081cd39a8d17f9267c3776706902ee9 MD5 | raw file
  1. """
  2. Migration script to create table for storing deferred job and managed transfer
  3. information.
  4. """
  5. from sqlalchemy import *
  6. from sqlalchemy.orm import *
  7. from migrate import *
  8. from migrate.changeset import *
  9. from galaxy.model.custom_types import *
  10. import datetime
  11. now = datetime.datetime.utcnow
  12. import logging
  13. log = logging.getLogger( __name__ )
  14. metadata = MetaData()
  15. # Table to add
  16. DeferredJob_table = Table( "deferred_job", metadata,
  17. Column( "id", Integer, primary_key=True ),
  18. Column( "create_time", DateTime, default=now ),
  19. Column( "update_time", DateTime, default=now, onupdate=now ),
  20. Column( "state", String( 64 ), index=True ),
  21. Column( "plugin", String( 128 ), index=True ),
  22. Column( "params", JSONType ) )
  23. TransferJob_table = Table( "transfer_job", metadata,
  24. Column( "id", Integer, primary_key=True ),
  25. Column( "create_time", DateTime, default=now ),
  26. Column( "update_time", DateTime, default=now, onupdate=now ),
  27. Column( "state", String( 64 ), index=True ),
  28. Column( "path", String( 1024 ) ),
  29. Column( "params", JSONType ) )
  30. def upgrade(migrate_engine):
  31. metadata.bind = migrate_engine
  32. print __doc__
  33. metadata.reflect()
  34. # Create deferred_job table
  35. try:
  36. DeferredJob_table.create()
  37. except Exception, e:
  38. log.error( "Creating deferred_job table failed: %s" % str( e ) )
  39. # Create transfer_job table
  40. try:
  41. TransferJob_table.create()
  42. except Exception, e:
  43. log.error( "Creating transfer_job table failed: %s" % str( e ) )
  44. def downgrade(migrate_engine):
  45. metadata.bind = migrate_engine
  46. metadata.reflect()
  47. # Drop deferred_job table
  48. try:
  49. DeferredJob_table.drop()
  50. except Exception, e:
  51. log.error( "Dropping deferred_job table failed: %s" % str( e ) )
  52. # Drop transfer_job table
  53. try:
  54. TransferJob_table.drop()
  55. except Exception, e:
  56. log.error( "Dropping transfer_job table failed: %s" % str( e ) )