Hi everyone
I was looking to upgrade galaxy to the latest verison. I did the usual hg pull; hg update;. I start up galaxy, it fetches some eggs, and then it tells me that I need a DB schema update. Fine, I ran sh db_manage.sh upgrade.
All I see is a list of stack traces similar to the following. I'm using mysql and all the tables that galaxy had created are running under the myisam engine.... Hence, no foreign key constraints allowed. Why did this happen and can I simply convert all my tables to InnoDB to complete the database upgrade? Should I restore the DB from a backup?
IntegrityError: (IntegrityError) (1215, 'Cannot add foreign key constraint') '\nCREATE TABLE history_dataset_collection_rating_association (\n\tid INTEGER NOT NULL AUTO_INCREMENT, \n\thistory_dataset_collection_id INTEGER, \n\tuser_id INTEGER, \n\trating INTEGER, \n\tPRIMARY KEY (id), \n\tFOREIGN KEY(history_dataset_collection_id) REFERENCES history_dataset_collection_association (id), \n\tFOREIGN KEY(user_id) REFERENCES galaxy_user (id)\n)\n\n' ()
(IntegrityError) (1215, 'Cannot add foreign key constraint') '\nCREATE TABLE history_dataset_collection_tag_association (\n\tid INTEGER NOT NULL AUTO_INCREMENT, \n\thistory_dataset_collection_id INTEGER, \n\ttag_id INTEGER, \n\tuser_id INTEGER, \n\tuser_tname VARCHAR(255), \n\tvalue VARCHAR(255), \n\tuser_value VARCHAR(255), \n\tPRIMARY KEY (id), \n\tFOREIGN KEY(history_dataset_collection_id) REFERENCES history_dataset_collection_association (id), \n\tFOREIGN KEY(tag_id) REFERENCES tag (id), \n\tFOREIGN KEY(user_id) REFERENCES galaxy_user (id)\n)\n\n' ()
Creating history_dataset_collection_tag_association table failed: (IntegrityError) (1215, 'Cannot add foreign key constraint') '\nCREATE TABLE history_dataset_collection_tag_association (\n\tid INTEGER NOT NULL AUTO_INCREMENT, \n\thistory_dataset_collection_id INTEGER, \n\ttag_id INTEGER, \n\tuser_id INTEGER, \n\tuser_tname VARCHAR(255), \n\tvalue VARCHAR(255), \n\tuser_value VARCHAR(255), \n\tPRIMARY KEY (id), \n\tFOREIGN KEY(history_dataset_collection_id) REFERENCES history_dataset_collection_association (id), \n\tFOREIGN KEY(tag_id) REFERENCES tag (id), \n\tFOREIGN KEY(user_id) REFERENCES galaxy_user (id)\n)\n\n' ()
Traceback (most recent call last):
File "lib/galaxy/model/migrate/versions/0120_dataset_collections.py", line 179, in __create
table.create()
File "build/bdist.linux-x86_64/egg/sqlalchemy/schema.py", line 593, in create
checkfirst=checkfirst)
File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 2302, in _run_visitor
conn._run_visitor(visitorcallable, element, **kwargs)
File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1972, in _run_visitor
**kwargs).traverse_single(element)
File "build/bdist.linux-x86_64/egg/sqlalchemy/sql/visitors.py", line 106, in traverse_single
return meth(obj, **kw)
File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/ddl.py", line 86, in visit_table
self.connection.execute(schema.CreateTable(table))
File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1449, in execute
params)
File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1542, in _execute_ddl
compiled
File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1698, in _execute_context
context)
File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1691, in _execute_context
context)
File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/default.py", line 331, in do_execute
cursor.execute(statement, parameters)
File "build/bdist.linux-x86_64-ucs4/egg/MySQLdb/cursors.py", line 173, in execute
self.errorhandler(self, exc, value)
File "build/bdist.linux-x86_64-ucs4/egg/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
Regards,
Iyad Kandalaft
Bioinformatics Programmer
Microbial Biodiversity Bioinformatics
Science & Technology Branch
Agriculture & Agri-Food Canada
Iyad.Kandalaft(a)agr.gc.ca | (613) 759-1228