On Sat, Jan 16, 2016 at 6:09 AM, Christian Hammond <[email protected]> wrote: > Hi Ben, > > You'll have a much easier time restoring from a backup. It's hard to say how > far it went through the evolution process, and unfortunately today it > doesn't keep track of how far it got and what it'd have to do to recover. > You'd have a lot of trial and error to fix it manually. You can try it, > though. > > Basically, you'll need to dump the SQL that the evolutions want to apply, > and go through and hand-undo each thing it did until you get back to the > point of where it was. You'd definitely want to do a backup first, though.
Unfortunately people had started using it already so this was the easiest approach :( Would it be possible to get a copy of a normally, safely upgraded schema so I can double check I haven't clobbered anything? The queries I ended up having to run to revert things to a state where the upgrade process would work was: 160115 19:34:12 2197763 Query ALTER TABLE accounts_reviewrequestvisit DROP COLUMN visibility 160115 19:34:24 2197763 Query DROP INDEX `accounts_reviewrequestvisit_05ee5d21` ON `accounts_reviewrequestvisit` 160115 19:34:45 2197763 Query ALTER TABLE attachments_fileattachment DROP COLUMN attachment_revision, DROP COLUMN attachment_history_id 160115 19:34:58 2197763 Query ALTER TABLE diffviewer_filediff DROP COLUMN raw_diff_hash_id, DROP COLUMN raw_parent_diff_hash_id 160115 19:36:18 2197763 Query ALTER TABLE `reviews_group` DROP COLUMN `email_list_only`, DROP COLUMN is_default_group 160115 19:36:25 2197763 Query DROP TABLE reviews_reviewrequest_file_attachment_histories Note that I observed that the Reviewboard process tries to reverse it's failed upgrade by doing a rollback. It is noted in the case of InnoDB that schema changes cannot be rolled back (see http://www.sitepoint.com/mysql-transaction-gotchas-good-parts/) > > Christian Cheers, Ben > > -- > Christian Hammond - [email protected] > Review Board - https://www.reviewboard.org > Beanbag, Inc. - https://www.beanbaginc.com > > On Fri, Jan 15, 2016 at 2:26 AM, Ben Cooksley <[email protected]> wrote: >> >> On Fri, Jan 15, 2016 at 11:09 PM, Ben Cooksley <[email protected]> wrote: >> > On Fri, Jan 15, 2016 at 11:04 PM, Christian Hammond >> > <[email protected]> wrote: >> >> Hi Ben, >> >> >> >> This is due to a mismatch between MySQL table types. The existing >> >> tables are >> >> likely MyISAM, with MySQL now defaulting to InnoDB for new ones. You'll >> >> need >> >> to either migrate all the existing tables, or tell MySQL to use the >> >> existing >> >> type for new tables. >> >> >> >> (It's a pretty terrible error, but unfortunately, beyond our control. I >> >> just >> >> recognize this sort of problem.) >> > >> > Argh. Our systems usually have InnoDB as default, guess that isn't the >> > case when we originally had Reviewboard provisioned. >> > I shouldn't see any issues migrating all tables into InnoDB correct? >> >> Seems it is safe. >> Unfortunately it looks like one of the evolutions got part way through >> the process. >> >> CommandError: Error applying evolution: (1060, "Duplicate column name >> 'visibility'") >> >> Any suggestions (I could restore from backups, but if I can avoid it...)? >> >> > >> >> >> >> Christian >> > >> > Cheers, >> > Ben >> >> Thanks, >> Ben >> >> > >> >> >> >> -- >> >> Christian Hammond - [email protected] >> >> Review Board - https://www.reviewboard.org >> >> Beanbag, Inc. - https://www.beanbaginc.com >> >> >> >> On Thu, Jan 14, 2016 at 11:27 PM, Ben Cooksley <[email protected]> >> >> wrote: >> >>> >> >>> Hi everyone, >> >>> >> >>> While upgrading from Reviewboard 2.0.17 to 2.5.2 i've encountered a >> >>> few SQL errors. >> >>> Reviewboard itself appears to boot and run fine though, based on the >> >>> nature of the errors I suspect it's a case of index name collisions. >> >>> >> >>> Output from the upgrade process is below: >> >>> >> >>> (virtualenv)reviewboard@mimi:~$ rb-site upgrade >> >>> /srv/www/reviewboard/git.reviewboard.kde.org/ >> >>> Rebuilding directory structure >> >>> Updating database. This may take a while. >> >>> >> >>> The log output below, including warnings and errors, >> >>> can be ignored unless upgrade fails. >> >>> >> >>> ------------------ <begin log output> ------------------ >> >>> Creating tables ... >> >>> Creating table accounts_trophy >> >>> >> >>> [!] There was an error synchronizing the database. Make sure the >> >>> database is created and has the appropriate permissions, and then >> >>> continue. >> >>> [!] Details: (1005, "Can't create table 'reviewboard_git.#sql- >> >>> 331d_214215' (errno: 150)") >> >>> >> >>> Press Enter to continue >> >>> Creating tables ... >> >>> Creating table attachments_fileattachmenthistory >> >>> Creating table diffviewer_rawfilediffdata >> >>> Creating table notifications_webhooktarget_repositories >> >>> >> >>> [!] There was an error synchronizing the database. Make sure the >> >>> database is created and has the appropriate permissions, and then >> >>> continue. >> >>> [!] Details: (1005, "Can't create table 'reviewboard_git.#sql- >> >>> 331d_214215' (errno: 150)") >> >>> >> >>> Press Enter to continue >> >>> Creating tables ... >> >>> Creating table notifications_webhooktarget >> >>> >> >>> [!] There was an error synchronizing the database. Make sure the >> >>> database is created and has the appropriate permissions, and then >> >>> continue. >> >>> [!] Details: (1005, "Can't create table 'reviewboard_git.#sql- >> >>> 331d_214215' (errno: 150)") >> >>> >> >>> Press Enter to continue >> >>> Creating tables ... >> >>> Creating table webapi_webapitoken >> >>> >> >>> [!] There was an error synchronizing the database. Make sure the >> >>> database is created and has the appropriate permissions, and then >> >>> continue. >> >>> [!] Details: (1005, "Can't create table 'reviewboard_git.#sql- >> >>> 331d_214215' (errno: 150)") >> >>> >> >>> Press Enter to continue >> >>> Creating tables ... >> >>> Upgrading Review Board from 2.0.17 to 2.5.2 >> >>> There are unapplied evolutions for accounts. >> >>> There are unapplied evolutions for attachments. >> >>> There are unapplied evolutions for diffviewer. >> >>> There are unapplied evolutions for notifications. >> >>> There are unapplied evolutions for reviews. >> >>> There are unapplied evolutions for webapi. >> >>> Adding baseline version for new models >> >>> Evolutions in notifications baseline: webhooktarget_extra_state, >> >>> webhooktarget_extra_data_null >> >>> Project signature has changed - an evolution is required >> >>> Installing custom SQL ... >> >>> Installing indexes ... >> >>> Installed 0 object(s) from 0 fixture(s) >> >>> CommandError: Error applying evolution: (1005, "Can't create table >> >>> 'reviewboard_git.#sql-331d_214238' (errno: 150)") >> >>> >> >>> Any pointers? >> >>> >> >>> Cheers, >> >>> Ben Cooksley >> >>> KDE Sysadmin >> >>> >> >>> -- >> >>> >> >>> --- >> >>> You received this message because you are subscribed to the Google >> >>> Groups >> >>> "reviewboard-dev" group. >> >>> To unsubscribe from this group and stop receiving emails from it, send >> >>> an >> >>> email to [email protected]. >> >>> For more options, visit https://groups.google.com/d/optout. >> >> >> >> >> >> -- >> >> >> >> --- >> >> You received this message because you are subscribed to the Google >> >> Groups >> >> "reviewboard-dev" group. >> >> To unsubscribe from this group and stop receiving emails from it, send >> >> an >> >> email to [email protected]. >> >> For more options, visit https://groups.google.com/d/optout. >> >> -- >> >> --- >> You received this message because you are subscribed to the Google Groups >> "reviewboard-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. > > > -- > > --- > You received this message because you are subscribed to the Google Groups > "reviewboard-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- Supercharge your Review Board with Power Pack: https://www.reviewboard.org/powerpack/ Want us to host Review Board for you? Check out RBCommons: https://rbcommons.com/ Happy user? Let us know! https://www.reviewboard.org/users/ --- You received this message because you are subscribed to the Google Groups "reviewboard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
