Exhibit Builder 3.1 Upgrade Issue

Hi all,

I was just upgrading an instance of Omeka from 2.1.4 to 2.2 and I'm running into an issue when I try to update to the latest version of Exhibit Builder included with it. The error is "Table '<insertdbname>.omeka_exhibit_page_entries' doesn't exist"...and it's completely right, it doesn't exist! Any suggestions on how best to proceed?

- Nick

Do you know what version of Exhibit Builder you were using before? You can look it up in your plugins table if you don't recall.

It looks like the prior version is 2.1.2.

Something's not right there: if your installed version was 2.1.2, you'd have an exhibit_page_entries table. What exhibit tables do you have?

exhibit_block_attachments, exhibit_page_blocks, exhibit_pages and exhibits.

Those are the tables for the new 3.x version of the Exhibit Builder. Do you have any content in the page_blocks or block_attachment tables?

Did you get an "Omeka has encountered an error" page and then have to go and enable the error reporting, then try the upgrade again? This particular error doesn't make much sense except as the result of an earlier aborted upgrade, or some total mismatch between the plugins table and the exhibits tables.

There are records in both tables which look to be the content from the prior version's exhibits.

You've got the order of operations right: upgraded as per the documentation, went in to turn plugins back on, trying to upgrade Exhibits triggered the "encountered an error" issue but all others worked fine, enabled error reporting for more info, tried again with the same result and came here for help. I wish I had some idea or other detail to pass on but everything went perfectly smoothly except for this.

Is there a layout column in the exhibit_pages table?

The curious part here is that dropping the exhibit_page_entries table is one of the last things in the upgrade process. It only happens once the upgrader has successfully run through all the old exhibit pages and converted them. The only later thing is dropping the layout column from exhibit_pages. There shouldn't have been any problem with either of those steps, but that seems like where the failure must have been for you to end up with the database in this state.

You do have the option of just manually updating the version field for ExhibitBuilder in the plugins table. If you set it to the version that you currently have, Omeka will act as if the upgrade is complete. You should then be able to go look at the Exhibits section of the admin and see if things look okay.

There is a layout column in exhibit_pages. Very odd. All I can think is that something did go awry during the update and the actual error was different than the one I got when I came back the second time with error reporting on....? Maybe I'll try to turn on error reporting before I start the update process in the future.

Updating the version manually worked just fine and all seems to be working as normal now. Thanks for the help troubleshooting!

As far as I can tell, the error really did happen the first time around when the code tried to drop the layout column from the exhibit_pages table. That's the only thing I can think of to explain the state of your database. This is odd, because there really isn't much that could go wrong there, I don't think.

Anyway, you should drop the layout column on exhibit_pages yourself if you're going to move forward here. That should complete the last little bit of work that the original upgrade failed to.