Hi Everyone,
This is follow-up information/questions to the issue I ran into with the galaxy June 2nd, 2014 update. I hope to receive feedback on how to proceed.
Background:
-
Running Galaxy (DB Schema 118) with a MySQL 5.5 back-end
-
When updating galaxy to the june 2nd release, the v120 DB schema has referential integrity constraints, which produced errors during the upgrade.
-
Completed two galaxy updates in the past 4 months without encountering this before (schema changes included)
Discussion:
In the past, referential integrity in the DB schema was never an issue. I checked backups and the current database to find that the database tables are using the MyISAM engine. MyISAM = no referential integrity support, no transactions.
I reviewed galaxy’s SQLAlchemy templates and determined that mysql_engine='InnoDB' isn’t set on tables. This explains why all tables were created with the MyISAM engine. If the mysql_engine is not innodb, SQL Alchemy is supposed to drop
any referential integrity constraints defined in the schema. What I don’t understand is why SQL Alchemy is no longer ignoring the referential integrity constraints.
Going forward, can anyone propose how I can salvage the database or continue ignoring referential integrity for now?
Assuming that my limited understanding of SQLAlchemy holds water, I was looking at fixing the galaxy code base but I need some clarification on the DB schema versioning. Do I edit schema v1 and add the appropriate table args to make every
table an innodb engine table or do I add a new schema and modify all tables to use the innodb engine? Alternatively, I can use DDL events
def after_create(target, connection, **kw):
connection.execute("ALTER TABLE %s ENGINE=InnoDB;
(target.name, target.name))
Thank you for your help.
Regards,
Iyad Kandalaft
Bioinformatics Application Developer
Agriculture and Agri-Food Canada | Agriculture et Agroalimentaire Canada
KW Neatby Bldg | éd. KW Neatby
960 Carling Ave| 960, avenue Carling
Ottawa, ON | Ottawa (ON) K1A 0C6
E-mail Address / Adresse courriel: Iyad.Kandalaft@agr.gc.ca
Telephone | Téléphone 613- 759-1228
Facsimile | Télécopieur 613-759-1701
Government of Canada | Gouvernement du Canada