All,
I am trying to upgrade from 2.0.20 -> 2.5.3.
I do this by taking a backup of the 2.0.20 database then importing into
MySQL and then running the rb-site upgrade.
However I get the following output:
Updating database. This may take a while.
The log output below, including warnings and errors,
can be ignored unless upgrade fails.
-- --
Creating tables ...
There are unapplied evolutions for accounts.
There are unapplied evolutions for attachments.
There are unapplied evolutions for diffviewer.
There are unapplied evolutions for reviews.
There are unapplied evolutions for webapi.
Project signature has changed - an evolution is required
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
/usr/local/lib/python2.7/dist-packages/ReviewBoardPowerPack-1.4-py2.7.egg/rbpowerpack/scmtools/tfs.py:9:
DeprecationWarning: django.utils.simplejson is deprecated; use json instead.
CommandError: Error applying evolution: (1060, "Duplicate column name
'visibility'")
...
Any ideas on why I am getting this error or how I can get more debug to
help?
Much appreciated
Dan
On Friday, 15 January 2016 19:44:43 UTC, Ben Cooksley wrote:
>
> On Sat, Jan 16, 2016 at 6:09 AM, Christian Hammond > 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 - chi...@chipx86.com
> > Review Board - https://www.reviewboard.org
> > Beanbag, Inc. - https://www.beanbaginc.com
> >
> > On Fri, Jan 15, 2016 at 2:26 AM, Ben Cooksley > wrote:
> >>
> >> On Fri, Jan 15, 2016 at 11:09 PM, Ben Cooksley > wrote:
> >> > On Fri, Jan 15, 2016 at 11:04 PM, Christian Hammond
> >> > 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 - chri...@beanbaginc.com
> >> >> Review Board - https://www.reviewboard.org