Hi Adam,

Most likely, new tables are being created as InnoDB, which is where those
errors tend to come from. It's a table with a relation to a MyISAM table,
which has that sort of name, and causes MySQL to be quite grumpy.

You should check that you don't have any new tables in InnoDB. You can then
try to add the following to your DATABASES section in your
settings_local.py:

    DATABASES = {
        'default': {
            ...
            'OPTIONS': {
                'init_command': 'SET storage_engine=MYISAM',
            }
        }
    }

That *should* cause new tables to be created as MyISAM tables and not
InnoDB.

Basically, it's not something we can fix for existing setups on our end,
and needs to be dealt with on yours (though we'll likely add an OPTIONS as
above to prevent this issue for brand new installs).

Christian

-- 
Christian Hammond - chip...@chipx86.com
Review Board - http://www.reviewboard.org
Beanbag, Inc. - http://www.beanbaginc.com


On Mon, Dec 9, 2013 at 10:25 AM, Adam Daughterson <
adam.daughter...@gmail.com> wrote:

>
>
> On Wednesday, June 5, 2013 5:00:38 PM UTC-6, Christian Hammond wrote:
>>
>> On Jun 5, 2013, at 2:43 PM, kegstand <kegs...@gmail.com> wrote:
>>
>> > Thank you for your help.
>> >
>> > I noticed most of my tables were MyISAM.
>> > I made the default engine for my mysql install be "MyISAM".
>> >
>> > I converted a few tables to MyISAM:
>> >
>> > mysql> ALTER TABLE diffviewer_filediffdata ENGINE = MyISAM ;
>> > Query OK, 4582 rows affected (0.12 sec)
>> > Records: 4582  Duplicates: 0  Warnings: 0
>> >
>> > mysql> ALTER TABLE extensions_registeredextension ENGINE = MyISAM ;
>> > Query OK, 0 rows affected (0.01 sec)
>> > Records: 0  Duplicates: 0  Warnings: 0
>> >
>> > mysql> ALTER TABLE hostingsvcs_hostingserviceaccount ENGINE = MyISAM ;
>> > Query OK, 0 rows affected (0.00 sec)
>> > Records: 0  Duplicates: 0  Warnings: 0
>> >
>> > mysql> ALTER TABLE reviews_reviewrequest_depends_on ENGINE = MyISAM ;
>> > Query OK, 0 rows affected (0.01 sec)
>> > Records: 0  Duplicates: 0  Warnings: 0
>> >
>> > now rb-site upgrade works
>> >
>> > now I will go drink heavily.
>> >
>>
>> I know your pain :) Glad it's working. Enjoy the drink!
>>
>> Christian
>>
>> --
>> Christian Hammond - chi...@chipx86.com
>> Review Board - http://www.reviewboard.org
>> Beanbag, Inc. - http://www.beanbaginc.com
>>
>
> Hey there.  I've been following along and getting very excited that this
> would fix my problem (the same errors, etc), but no: I still have the
> problem.
>
> To summarize:
>
>    - Mysql server 5.5 provided by package maintainers for Ubuntu 12.04.3
>    LTS
>    - All my tables are MyISAM
>    - Installed via easy_install
>    - Restoring database from mysqldump backup
>
>
> Once I restore the DB, RB complains that rb-site upgrade needs run.
> When I run rb-site upgrade I get:
>
> root@ltc-wiki:/var/www/reviews/htdocs/media# rb-site upgrade
> /var/www/reviews
> 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 ...
> There are unapplied evolutions for accounts.
> There are unapplied evolutions for attachments.
> There are unapplied evolutions for diffviewer.
> There are unapplied evolutions for hostingsvcs.
> There are unapplied evolutions for reviews.
> Project signature has changed - an evolution is required
> Installing custom SQL ...
> Installing indexes ...
> Installed 0 object(s) from 0 fixture(s)
> *Error: Error applying evolution: (1005, "Can't create table
> 'reviewboard.#sql-5165_66' (errno: 150)")*
>
>
> Ok, so I want to see the mutations, etc:
>
>  root@ltc-wiki:/var/www/reviews/htdocs/media# rb-site manage
> /var/www/reviews evolve -- --hint
> #----- Evolution for accounts
> from django_evolution.mutations import AddField, ChangeField
> from djblets.util.fields import JSONField
>
>
> MUTATIONS = [
>     AddField('Profile', 'extra_data', JSONField, null=True),
>     ChangeField('Profile', 'timezone', initial=None, max_length=30),
>     AddField('LocalSiteProfile', 'permissions', JSONField, null=True)
> ]
> #----------------------
> #----- Evolution for attachments
> from django_evolution.mutations import AddField, ChangeField
> from django.db import models
>
>
> MUTATIONS = [
>     AddField('FileAttachment', 'orig_filename', models.CharField,
> max_length=256, null=True),
>     ChangeField('FileAttachment', 'file', initial=None, max_length=512)
> ]
> #----------------------
> #----- Evolution for diffviewer
> from django_evolution.mutations import AddField
> from django.db import models
>
>
> MUTATIONS = [
>     AddField('DiffSet', 'base_commit_id', models.CharField, max_length=64,
> null=True, db_index=True)
> ]
> #----------------------
> #----- Evolution for hostingsvcs
> from django_evolution.mutations import AddField
> from django.db import models
>
>
> MUTATIONS = [
>     AddField('HostingServiceAccount', 'hosting_url', models.CharField,
> max_length=255, null=True)
> ]
> #----------------------
> #----- Evolution for reviews
> from django_evolution.mutations import AddField
> from django.db import models
>
>
> MUTATIONS = [
>     AddField('ReviewRequest', 'depends_on', models.ManyToManyField,
> null=True, related_model='reviews.ReviewRequest'),
>     AddField('ReviewRequestDraft', 'depends_on', models.ManyToManyField,
> null=True, related_model='reviews.ReviewRequest')
> ]
> #----------------------
> Trial evolution successful.
> Run './manage.py evolve --hint --execute' to apply evolution.
>
>
> So, I want to nix some stuff, so I do:
>
> alter table accounts_profile drop column extra_data;
> alter table accounts_localsiteprofile drop column permissions;
> alter table diffviewer_diffset drop column base_commit_id;
> alter table attachments_fileattachment drop column orig_filename;
> alter table diffviewer_diffset drop column base_commit_id;
> alter table hostingsvcs_hostingserviceaccount drop column hosting_url;
> drop table reviews_reviewrequest_depends_on;
> drop table reviews_reviewrequestdraft_depends_on;
>
>
> Ok, I should be able to do this now, right?
> Wrong:
>
> root@ltc-wiki:/var/www/reviews/htdocs/media# rb-site upgrade
> /var/www/reviews
> 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 ...
> There are unapplied evolutions for accounts.
> There are unapplied evolutions for attachments.
> There are unapplied evolutions for diffviewer.
> There are unapplied evolutions for hostingsvcs.
> There are unapplied evolutions for reviews.
> Project signature has changed - an evolution is required
> Installing custom SQL ...
> Installing indexes ...
> Installed 0 object(s) from 0 fixture(s)
> Error: Error applying evolution: (1005, "Can't create table
> 'reviewboard.#sql-5165_69' (errno: 150)")
>
>
>  Can I get some help here?
>
> Thanks in advance.
>
> Adam D
>

-- 
Get the Review Board Power Pack at http://www.reviewboard.org/powerpack/
---
Sign up for Review Board hosting at RBCommons: https://rbcommons.com/
---
Happy user? Let us know at http://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 reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to