Error when upgrading from 17.2 to 17.3 with study.QCstate and moveQCStateToCore

LabKey Support Forum (Inactive)
Error when upgrading from 17.2 to 17.3 with study.QCstate and moveQCStateToCore Matt V  2017-12-09 16:16
Status: Closed
 
I resolved this with following process.

1) Wrote a postgres function to grab all the relevant FKs (constraint name, schema, table, col, etc) from the info schema table and dump into a "temp" table.
2) In that same function, looped over the results from 1 to dump the FK values into another "temp" table. I say temp because its not flagged as such, but I'll drop it later.
3) Wrote a second function to remove the FKs from 1.

1,2, and 3 occur in release scripts that our process executes before the LabKey compilation.

4) Increment my module's version to 17.3. Write a 17.2-17.3.sql script that includes a trigger function that fires after insert or update on core.qcstate. This trigger grabs the data from 1 and 2 to reconstruct the FKs.

The trigger was necessary since my module's name is alphabetically before study and the upgrade script would fire before the qcstate migration one. I didn't want to hack around with naming schemes (e.g. Module: zMyUpdates), so a trigger made the most sense.
5) Remove the trigger function.

This was necessary because we register datasets with LabKey and adhere to the FK constraint definitions. The study.qcstate --> core.qcstate migration didn't account for this and exploded on the DROP table study.qcstate; query.


If I missed something, I'd still be interested in hearing about it, but this seems to have done the trick.