From 489c4ce8356944fab83bc1f41aa59c5c03922a46 Mon Sep 17 00:00:00 2001 From: Greg Von Kuster Date: Tue, 21 Apr 2009 10:26:58 -0400 Subject: [PATCH] Add new migration script that creates missing indexes and default data on galaxy_user and history_dataset_association tables. Fix the change datatype display in the edit_attributes template. Fix the tool config for main. --- .../versions/0004_indexes_and_defaults.py | 61 +++++++++++++++++++ manage_db.sh | 5 ++ templates/dataset/edit_attributes.mako | 5 +- tool_conf.xml.main | 50 ++++++--------- 4 files changed, 87 insertions(+), 34 deletions(-) create mode 100644 lib/galaxy/model/migrate/versions/0004_indexes_and_defaults.py diff --git a/lib/galaxy/model/migrate/versions/0004_indexes_and_defaults.py b/lib/galaxy/model/migrate/versions/0004_indexes_and_defaults.py new file mode 100644 index 00000000000..6efa10af143 --- /dev/null +++ b/lib/galaxy/model/migrate/versions/0004_indexes_and_defaults.py @@ -0,0 +1,61 @@ +from sqlalchemy import * +from sqlalchemy.orm import * +from migrate import * +import sys, logging + +log = logging.getLogger( __name__ ) +log.setLevel(logging.DEBUG) +handler = logging.StreamHandler( sys.stdout ) +format = "%(name)s %(levelname)s %(asctime)s %(message)s" +formatter = logging.Formatter( format ) +handler.setFormatter( formatter ) +log.addHandler( handler ) + +metadata = MetaData( migrate_engine ) +db_session = scoped_session( sessionmaker( bind=migrate_engine, autoflush=False, transactional=False ) ) +User_table = Table( "galaxy_user", metadata, autoload=True ) +HistoryDatasetAssociation_table = Table( "history_dataset_association", metadata, autoload=True ) + +def boolean_false(): + if migrate_engine.name == 'postgres' or migrate_engine.name == 'mysql': + return False + elif migrate_engine.name == 'sqlite': + return 0 + else: + raise Exception( 'Unable to convert data for unknown database type: %s' % db ) + +def upgrade(): + # Load existing tables + metadata.reflect() + # Add 2 indexes to the galaxy_user table + i = Index( 'ix_galaxy_user_deleted', User_table.c.deleted ) + try: + i.create() + except Exception, e: + log.debug( "Adding index 'ix_galaxy_user_deleted' to galaxy_user table failed: %s" % ( str( e ) ) ) + i = Index( 'ix_galaxy_user_purged', User_table.c.purged ) + try: + i.create() + except Exception, e: + log.debug( "Adding index 'ix_galaxy_user_purged' to galaxy_user table failed: %s" % ( str( e ) ) ) + # Set the default data in the galaxy_user table, but only for null values + cmd = "UPDATE galaxy_user SET deleted = %s WHERE deleted is null" + cmd = cmd % boolean_false() + try: + db_session.execute( cmd ) + except Exception, e: + log.debug( "Setting default data for galaxy_user.deleted column failed: %s" % ( str( e ) ) ) + cmd = "UPDATE galaxy_user SET purged = %s WHERE purged is null" + cmd = cmd % boolean_false() + try: + db_session.execute( cmd ) + except Exception, e: + log.debug( "Setting default data for galaxy_user.purged column failed: %s" % ( str( e ) ) ) + # Add 1 index to the history_dataset_association table + i = Index( 'ix_hda_copied_from_library_dataset_dataset_association_id', HistoryDatasetAssociation_table.c.copied_from_library_dataset_dataset_association_id ) + try: + i.create() + except Exception, e: + log.debug( "Adding index 'ix_hda_copied_from_library_dataset_dataset_association_id' to history_dataset_association table failed: %s" % ( str( e ) ) ) +def downgrade(): + pass diff --git a/manage_db.sh b/manage_db.sh index 3201862a21e..8e48b186927 100644 --- a/manage_db.sh +++ b/manage_db.sh @@ -1,4 +1,9 @@ #!/bin/sh +####### +# NOTE: To downgrade to a specific version, use something like: +# sh manage_db.sh downgrade --version=3 +####### + cd `dirname $0` python -ES ./scripts/manage_db.py $@ diff --git a/templates/dataset/edit_attributes.mako b/templates/dataset/edit_attributes.mako index 723bafcdf6d..f60f47b30de 100644 --- a/templates/dataset/edit_attributes.mako +++ b/templates/dataset/edit_attributes.mako @@ -6,12 +6,11 @@ <%def name="datatype( dataset, datatypes )"> diff --git a/tool_conf.xml.main b/tool_conf.xml.main index 3d3b6ea8575..c1f37307c6b 100644 --- a/tool_conf.xml.main +++ b/tool_conf.xml.main @@ -10,14 +10,6 @@ -
- - - - - - -
@@ -42,17 +34,6 @@ -
- - - -
-
- - - - -
@@ -68,15 +49,21 @@
+
+ + + +
+
+ + + + +
-
@@ -149,13 +136,20 @@ -
+
+
+
+ + + + +
@@ -265,10 +259,4 @@
-
- - - - -