Looking at this forum post
https://mahara.org/interaction/forum/topic.php?id=5986&offset=0&limit=10
...

It occurs to me that there's a problem in our schema correction code.
We're adding foreign keys to existing tables, but we didn't first check
to see whether the tables have data that will fit that foreign key. If
they have bad data, then this upgrade script will error out and prevent
them from upgrading. And since these missing schema elements are not
vital, we don't want their failure to block upgrade.

We should have put a "catch (SQLException $e)" block around each attempt
to add a foreign key, unique index, and/or primary key, or another other
schema element that will fail if their data isn't clean. :-P

I'll spin off another bug for that...

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask 
on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1174623

Title:
  Correct schema drift during 1.0 -> 1.8 upgrades

Status in Mahara ePortfolio:
  In Progress
Status in Mahara 1.8 series:
  In Progress
Status in Mahara 1.9 series:
  In Progress

Bug description:
  We seem to get a lot of bug reports on the forum from people having
  issues after upgrading from pre-1.5 Mahara instances up to the latest.
  It seems that the upgrade scripts do not generate a database schema
  which is consistent with what you'd get from a clean 1.7 installation.

  If we want people to update to the latest version of Mahara (and we
  do!) then we need to make sure that the upgrade process works
  properly. So, we should test the upgrade process from each of the old
  versions of Mahara into master, and if it doesn't produce exactly the
  same DB schema as a fresh install, we need to correct the master
  upgrade scripts to solve this.

  Of course, there's also the matter of data in those tables getting
  messed up, but that's harder to recognize and fix. We could test for
  it partway, by making sure we upgrade a non-empty Mahara instance
  (something with at least a few users, pages, institutions, auth
  methods, etc).

  It might also be a good idea to add a tool that compares the schema
  against all of the install.xml files, so that users can tell whether
  they have a problem or not. Not worth writing one from scratch, but
  Moodle 2 has a script for copying a database, and one of its steps is
  to check the schema against all the XMLDB files, so we may be able to
  use that.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1174623/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~mahara-contributors
Post to     : mahara-contributors@lists.launchpad.net
Unsubscribe : https://launchpad.net/~mahara-contributors
More help   : https://help.launchpad.net/ListHelp

Reply via email to