To ease the maintenance of our Dutch National galaxy, we're trying to set up our own toolshed on a system that happens to have a nicely large MySQL database running. We'd like to make it use that database. The setup has been ok, until we started running the toolshed on the MySQL server for the first time, which resulted in the message in the community_webapp.log I copied below. Is this an incompatibility? Regards, Rob Hooft File "lib/galaxy/webapps/community/model/migrate/versions/0001_initial_tables.py", line 150, in upgrade metadata.create_all() ... self._handle_dbapi_exception(e, statement, parameters, cursor, context) File "/opt/toolshed/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.6.egg/sqlalchemy/engine/base.py", line 931, in _handle_dbapi_exception raise exc.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect) OperationalError: (OperationalError) (1170, "BLOB/TEXT column 'annotation' used in key specification without a key length") u'CREATE INDEX ix_tool_annotation_association_annotation ON tool_annotation_association (annotation)' () Removing PID file community_webapp.pid -- Rob W.W. Hooft Chief Technology Officer BioAssist, Netherlands Bioinformatics Centre http://www.nbic.nl/ Skype: robhooft GSM: +31 6 27034319
Hi Rob Yes, this looks like an SQLAlchemy issue, producing an 'create index' statement which is not compatible with MySQL. I guess line 146 in "~/lib/galaxy/webapps/community/model/migrate/versions/0001_initial_tables.py" is the culprit: Column( "annotation", TEXT, index=True) ) I don't know whether this works, but I would suggest you change that line to: Column( "annotation", TEXT) ) run it again. And then manually add the index by executing CREATE INDEX ix_tool_annotation_association_annotation ON tool_annotation_association (annotation(100)) The problem is: MySQL can only index the first x characters of a BLOB or TEXT. Using the above suggested statement will create an index using the first 100 characters of the name column. See also: http://dev.mysql.com/doc/refman/5.0/en/create-index.html Regards, Hans-Rudolf On 04/12/2013 08:24 AM, Rob Hooft wrote:
To ease the maintenance of our Dutch National galaxy, we're trying to set up our own toolshed on a system that happens to have a nicely large MySQL database running. We'd like to make it use that database. The setup has been ok, until we started running the toolshed on the MySQL server for the first time, which resulted in the message in the community_webapp.log I copied below. Is this an incompatibility?
Regards,
Rob Hooft
File "lib/galaxy/webapps/community/model/migrate/versions/0001_initial_tables.py", line 150, in upgrade metadata.create_all() ... self._handle_dbapi_exception(e, statement, parameters, cursor, context) File "/opt/toolshed/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.6.egg/sqlalchemy/engine/base.py", line 931, in _handle_dbapi_exception raise exc.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect) OperationalError: (OperationalError) (1170, "BLOB/TEXT column 'annotation' used in key specification without a key length") u'CREATE INDEX ix_tool_annotation_association_annotation ON tool_annotation_association (annotation)' () Removing PID file community_webapp.pid
-- Rob W.W. Hooft Chief Technology Officer BioAssist, Netherlands Bioinformatics Centre http://www.nbic.nl/ Skype: robhooft GSM: +31 6 27034319
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
participants (2)
-
Hans-Rudolf Hotz
-
Rob Hooft