~# rb-site manage /var/lib/reviewboard evolve -- --hint
#----- Evolution for auth
from django_evolution.mutations import DeleteModel


MUTATIONS = [
    DeleteModel('Message')
]
#----------------------
#----- Evolution for accounts
from django_evolution.mutations import AddField
from django.db import models


MUTATIONS = [
    AddField('Profile', 'timezone', models.CharField, initial=u'UTC', 
max_length=20),
    AddField('Profile', 'open_an_issue', models.BooleanField, initial=True)
]
#----------------------
#----- Evolution for diffviewer
from django_evolution.mutations import AddField, DeleteField
from django.db import models
from djblets.util.fields import Base64Field


MUTATIONS = [
    AddField('DiffSetHistory', 'last_diff_updated', models.DateTimeField, 
null=True),
    AddField('FileDiff', 'diff_hash', models.ForeignKey, null=True, 
related_model='diffviewer.FileDiffData'),
    AddField('FileDiff', 'parent_diff_hash', models.ForeignKey, null=True, 
related_model='diffviewer.FileDiffData'),
    AddField('FileDiff', 'diff64', Base64Field, initial='', 
db_column='diff_base64'),
    AddField('FileDiff', 'parent_diff64', Base64Field, initial='', 
db_column='parent_diff_base64'),
    DeleteField('FileDiff', 'parent_diff'),
    DeleteField('FileDiff', 'diff')
]
#----------------------
#----- Evolution for reviews
from django_evolution.mutations import AddField, DeleteField
from django.db import models
from djblets.util.fields import JSONField


MUTATIONS = [
    AddField('FileAttachmentComment', 'extra_data', JSONField, null=True),
    AddField('ReviewRequest', 'last_review_activity_timestamp', 
models.DateTimeField, null=True, db_column='last_review_timestamp'),
    DeleteField('ReviewRequest', 'last_review_timestamp')
]
#----------------------
#----- Evolution for scmtools
from django_evolution.mutations import AddField
from django.db import models
from djblets.util.fields import JSONField


MUTATIONS = [
    AddField('Repository', 'extra_data', JSONField, null=True),
    AddField('Repository', 'hosting_account', models.ForeignKey, null=True, 
related_model='hostingsvcs.HostingServiceAccount')
]
#----------------------
Trial evolution successful.
Run './manage.py evolve --hint --execute' to apply evolution.

On Tuesday, April 9, 2013 2:07:36 PM UTC-4, Christian Hammond wrote:
>
> Hi Chris,
>
> That looks like it's trying to re-add a very, very old field that you 
> absolutely already have. So something is clearly quite wrong.
>
> Can you run that with evolve --hint (no --execute) and paste the results 
> to me?
>
> Christian
>
> -- 
> Christian Hammond - chi...@chipx86.com <javascript:>
> Review Board - http://www.reviewboard.org
> Beanbag, Inc. - http://www.beanbaginc.com
>
>
> On Tue, Apr 9, 2013 at 6:16 AM, Chris Eagan <cea...@gmail.com<javascript:>
> > wrote:
>
>> Christian,
>>
>> Is it possible for me to make manual changes to the database that would 
>> allow this operation to complete? If I understood more about what the error 
>> is describing, I might be able to make some direct changes to work around 
>> it.
>>
>> -Chris
>>
>>
>> On Monday, April 8, 2013 2:45:23 PM UTC-4, Chris Eagan wrote:
>>>
>>> I ran the command and got the following output. Despite the error 
>>> message, I restarted memcached and apache2 and went to the site. Instead of 
>>> the big django explosion I got before, I now see the "Review Board is 
>>> taking a nap" message.
>>>
>>> ~# rb-site manage /var/lib/reviewboard evolve -- --hint --execute
>>>
>>> You have requested a database evolution. This will alter tables
>>> and data currently in the 'default' database, and may result in
>>> IRREVERSABLE DATA LOSS. Evolutions should be *thoroughly* reviewed
>>> prior to execution.
>>>
>>> Are you sure you want to execute the evolutions?
>>>
>>> Type 'yes' to continue, or 'no' to cancel: yes
>>> Error: Error applying evolution: (1060, "Duplicate column name 
>>> 'diff_base64'")
>>>
>>> On Monday, April 8, 2013 2:38:08 PM UTC-4, Christian Hammond wrote:
>>>>
>>>> Sorry about that.. We hit some rough bugs in Django Evolution (or 
>>>> rather, introduced scenarios it wasn't prepared for), but I do think that 
>>>> going forward, these issues should be mostly gone.
>>>>
>>>> So I don't normally advise this, but here's what I'd recommend in this 
>>>> case:
>>>>
>>>> 1) Back up your database
>>>> 2) Run: rb-site manage /path/to/site evolve -- --hint --execute
>>>>
>>>> Clear your memcached and make sure that your review requests are still 
>>>> working properly.
>>>>
>>>> The --hint --execute tells Django Evolution to just make the database 
>>>> match the current schema. Given the situation here where those should 
>>>> already be in the database, I don't know what it'll do to add them 
>>>> (hopefully just update your schema history). If all fails, you can restore 
>>>> the database backup and we can try again.
>>>>
>>>> Christian
>>>>
>>>> -- 
>>>> Christian Hammond - chi...@chipx86.com
>>>> Review Board - http://www.reviewboard.org
>>>> Beanbag, Inc. - http://www.beanbaginc.com
>>>>
>>>>
>>>> On Mon, Apr 8, 2013 at 11:17 AM, Chris Eagan <cea...@gmail.com> wrote:
>>>>
>>>>> Yes, each server used it's own independent database. They exist on 
>>>>> fully distinct virtual machines.
>>>>>
>>>>> This is only the second time this server has been upgraded. The first 
>>>>> upgrade attempt I did today was run with the older version of 
>>>>> django_evolution. That might be why the upgrade wasn't successful and why 
>>>>> some evolutions were already applied. Unfortunately, I was over-confident 
>>>>> and didn't back up the database prior to my upgrade attempt because the 
>>>>> first server had upgraded fine. The first server had the newer version of 
>>>>> django_evolution installed and I failed to check that the second server 
>>>>> did 
>>>>> prior to the upgrade.
>>>>>
>>>>> I have a backup of the database after the first upgrade attempt.
>>>>>
>>>>> I did not downgrade or wipe any evolutions.
>>>>>
>>>>> -Chris
>>>>>
>>>>>
>>>>> On Monday, April 8, 2013 2:11:02 PM UTC-4, Christian Hammond wrote:
>>>>>
>>>>>> When you mentioned different servers, were these each with their own 
>>>>>> database?
>>>>>>
>>>>>> It's complaining about fields that already existed in 1.6.11, which 
>>>>>> shouldn't be correct. It's also showing that those evolutions were 
>>>>>> already 
>>>>>> applied.
>>>>>>
>>>>>> At any point did you ever downgrade or wipe an evolution?
>>>>>>
>>>>>> Christian
>>>>>>
>>>>>>
>>>>>> On Apr 8, 2013, at 10:59, Chris Eagan <cea...@gmail.com> wrote:
>>>>>>
>>>>>> I think my last answer was wrong. I tried to upgrade and got this:
>>>>>>
>>>>>> ~# easy_install -U django_evolution
>>>>>> Searching for django-evolution
>>>>>> Reading http://downloads.reviewboard.**o**
>>>>>> rg/releases/ReviewBoard/1.6/<http://downloads.reviewboard.org/releases/ReviewBoard/1.6/>
>>>>>> Reading 
>>>>>> http://pypi.python.org/simple/****django_evolution/<http://pypi.python.org/simple/django_evolution/>
>>>>>> Reading 
>>>>>> http://code.google.com/p/**djang**o-evolution/<http://code.google.com/p/django-evolution/>
>>>>>> Best match: django-evolution 0.6.9
>>>>>> Processing django_evolution-0.6.9-py2.6.**e**gg
>>>>>> django-evolution 0.6.9 is already the active version in 
>>>>>> easy-install.pth
>>>>>>
>>>>>> Using /usr/local/lib/python2.6/dist-****
>>>>>> packages/django_evolution-0.6.****9-py2.6.egg
>>>>>> Processing dependencies for django-evolution
>>>>>> Finished processing dependencies for django-evolution
>>>>>>
>>>>>> On Monday, April 8, 2013 1:57:20 PM UTC-4, Christian Hammond wrote:
>>>>>>>
>>>>>>> Try upgrading to 0.6.9. There were a lot of fixes that went in since 
>>>>>>> your version.
>>>>>>>
>>>>>>> Christian
>>>>>>>
>>>>>>>
>>>>>>> On Apr 8, 2013, at 10:53, Chris Eagan <cea...@gmail.com> wrote:
>>>>>>>
>>>>>>> 0.6.7-py2.6
>>>>>>>
>>>>>>> On Monday, April 8, 2013 1:46:57 PM UTC-4, Christian Hammond wrote:
>>>>>>>>
>>>>>>>> Hi Chris,
>>>>>>>>
>>>>>>>> What version of the django_evolution module is installed?
>>>>>>>>
>>>>>>>> Christian
>>>>>>>>
>>>>>>>> -- 
>>>>>>>> Christian Hammond - chi...@chipx86.com
>>>>>>>> Review Board - http://www.reviewboard.org
>>>>>>>> Beanbag, Inc. - http://www.beanbaginc.com
>>>>>>>>  
>>>>>>>>
>>>>>>>> On Mon, Apr 8, 2013 at 8:35 AM, Chris Eagan <cea...@gmail.com>wrote:
>>>>>>>>
>>>>>>>>> I attempted to perfom an upgrade of one of our ReviewBoard 
>>>>>>>>> installations and I have run into a problem. The first server 
>>>>>>>>> upgraded 
>>>>>>>>> fine, but this one is not working. I folloed some of the 
>>>>>>>>> recommendations in 
>>>>>>>>> another post, but I was not successful. Thank you for any help you 
>>>>>>>>> can 
>>>>>>>>> provide.****
>>>>>>>>>
>>>>>>>>> ** **
>>>>>>>>>
>>>>>>>>> ~$ sudo rb-site upgrade /var/lib/reviewboard****
>>>>>>>>>
>>>>>>>>> Rebuilding directory structure****
>>>>>>>>>
>>>>>>>>> Upgrading site settings_local.py****
>>>>>>>>>
>>>>>>>>> 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 extensions_registeredextension****
>>>>>>>>>
>>>>>>>>> Creating table diffviewer_filediffdata****
>>>>>>>>>
>>>>>>>>> Upgrading Review Board from 1.6.11 to 1.7.6****
>>>>>>>>>
>>>>>>>>> There are unapplied evolutions for auth.****
>>>>>>>>>
>>>>>>>>> There are unapplied evolutions for accounts.****
>>>>>>>>>
>>>>>>>>> There are unapplied evolutions for diffviewer.****
>>>>>>>>>
>>>>>>>>> There are unapplied evolutions for reviews.****
>>>>>>>>>
>>>>>>>>> Adding baseline version for new models****
>>>>>>>>>
>>>>>>>>> Project signature has changed - an evolution is required****
>>>>>>>>>
>>>>>>>>> Installing custom SQL ...****
>>>>>>>>>
>>>>>>>>> Installing indexes ...****
>>>>>>>>>
>>>>>>>>> Installed 0 object(s) from 0 fixture(s)****
>>>>>>>>>
>>>>>>>>> *The stored evolutions do not completely resolve all model 
>>>>>>>>> changes.*
>>>>>>>>>
>>>>>>>>> Run `./manage.py evolve --hint` to see a suggestion for the 
>>>>>>>>> changes required.****
>>>>>>>>>
>>>>>>>>> ** **
>>>>>>>>>
>>>>>>>>> The following are the changes that could not be resolved:****
>>>>>>>>>
>>>>>>>>> In model scmtools.Repository:****
>>>>>>>>>
>>>>>>>>>     Field 'extra_data' has been added****
>>>>>>>>>
>>>>>>>>>     Field 'hosting_account' has been added****
>>>>>>>>>
>>>>>>>>> *Error: Your models contain changes that Django Evolution cannot 
>>>>>>>>> resolve automati*                      ****
>>>>>>>>>                               ****               *cally.*
>>>>>>>>>
>>>>>>>>> ~$ sudo -i****
>>>>>>>>>
>>>>>>>>> ~# mysqldump -p reviewboard > reviewboard.sql****
>>>>>>>>>
>>>>>>>>> ~# rb-site manage /var/lib/reviewboard dumpdata django_evolution > 
>>>>>>>>> django_evolution.json****
>>>>>>>>>
>>>>>>>>> ~# sudo easy_install -U django_evolution****
>>>>>>>>>
>>>>>>>>> ~# rb-site manage /var/lib/reviewboard list-evolutions****
>>>>>>>>>
>>>>>>>>> Applied evolutions for 'sessions':****
>>>>>>>>>
>>>>>>>>>     session_expire_date_db_index****
>>>>>>>>>
>>>>>>>>> ** **
>>>>>>>>>
>>>>>>>>> Applied evolutions for 'accounts':****
>>>>>>>>>
>>>>>>>>>     is_private****
>>>>>>>>>
>>>>>>>>> ** **
>>>>>>>>>
>>>>>>>>> Applied evolutions for 'changedescs':****
>>>>>>>>>
>>>>>>>>>     fields_changed_longtext****
>>>>>>>>>
>>>>>>>>> ** **
>>>>>>>>>
>>>>>>>>> Applied evolutions for 'diffviewer':****
>>>>>>>>>
>>>>>>>>>     add_parent_diffs****
>>>>>>>>>
>>>>>>>>>     filediff_filenames_1024_chars****
>>>>>>>>>
>>>>>>>>>     diffset_basedir****
>>>>>>>>>
>>>>>>>>>     filediff_status****
>>>>>>>>>
>>>>>>>>> ** **
>>>>>>>>>
>>>>>>>>> Applied evolutions for 'reviews':****
>>>>>>>>>
>>>>>>>>>     change_descriptions****
>>>>>>>>>
>>>>>>>>>     last_review_timestamp****
>>>>>>>>>
>>>>>>>>>     shipit_count****
>>>>>>>>>
>>>>>>>>>     default_reviewer_repositories****
>>>>>>>>>
>>>>>>>>>     null_repository****
>>>>>>>>>
>>>>>>>>>     localsite****
>>>>>>>>>
>>>>>>>>>     group_incoming_request_count****
>>>>>>>>>
>>>>>>>>>     group_invite_only****
>>>>>>>>>
>>>>>>>>>     group_visible****
>>>>>>>>>
>>>>>>>>>     default_reviewer_local_site****
>>>>>>>>>
>>>>>>>>>     add_issues_to_comments****
>>>>>>>>>
>>>>>>>>>     file_attachments****
>>>>>>>>>
>>>>>>>>> ** **
>>>>>>>>>
>>>>>>>>> Applied evolutions for 'scmtools':****
>>>>>>>>>
>>>>>>>>>     bugzilla_url_charfield****
>>>>>>>>>
>>>>>>>>>     repository_raw_file_url****
>>>>>>>>>
>>>>>>>>>     repository_visible****
>>>>>>>>>
>>>>>>>>>     repository_path_length_255****
>>>>>>>>>
>>>>>>>>>     localsite****
>>>>>>>>>
>>>>>>>>>     repository_access_control****
>>>>>>>>>
>>>>>>>>>     group_site****
>>>>>>>>>
>>>>>>>>>     repository_hosting_accounts****
>>>>>>>>>
>>>>>>>>>     repository_extra_data_null****
>>>>>>>>>
>>>>>>>>> ** **
>>>>>>>>>
>>>>>>>>> ~# rb-site manage /var/lib/reviewboard shell****
>>>>>>>>>
>>>>>>>>> Python 2.6.5 (r265:79063, Oct  1 2012, 22:04:36)****
>>>>>>>>>
>>>>>>>>> [GCC 4.4.3] on linux2****
>>>>>>>>>
>>>>>>>>> Type "help", "copyright", "credits" or "license" for more 
>>>>>>>>> information.****
>>>>>>>>>
>>>>>>>>> (InteractiveConsole)****
>>>>>>>>>
>>>>>>>>> >>> exit()****
>>>>>>>>>
>>>>>>>>> ~# rb-site upgrade /var/lib/reviewboard****
>>>>>>>>>
>>>>>>>>> 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 auth.****
>>>>>>>>>
>>>>>>>>> There are unapplied evolutions for accounts.****
>>>>>>>>>
>>>>>>>>> There are unapplied evolutions for diffviewer.****
>>>>>>>>>
>>>>>>>>> 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)****
>>>>>>>>>
>>>>>>>>> *The stored evolutions do not completely resolve all model 
>>>>>>>>> changes.*
>>>>>>>>>
>>>>>>>>> Run `./manage.py evolve --hint` to see a suggestion for the 
>>>>>>>>> changes required.****
>>>>>>>>>
>>>>>>>>> ** **
>>>>>>>>>
>>>>>>>>> The following are the changes that could not be resolved:****
>>>>>>>>>
>>>>>>>>> In model scmtools.Repository:****
>>>>>>>>>
>>>>>>>>>     Field 'extra_data' has been added****
>>>>>>>>>
>>>>>>>>>     Field 'hosting_account' has been added****
>>>>>>>>>
>>>>>>>>> *Error: Your models contain changes that Django Evolution cannot 
>>>>>>>>> resolve automatically.*
>>>>>>>>>
>>>>>>>>> ** **
>>>>>>>>>
>>>>>>>>> -Chris Eagan****
>>>>>>>>>
>>>>>>>>> ** **
>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> Want to help the Review Board project? Donate today at 
>>>>>>>>> http://www.reviewboard.org/**don**ate/<http://www.reviewboard.org/donate/>
>>>>>>>>> Happy user? Let us know at 
>>>>>>>>> http://www.reviewboard.org/**use**rs/<http://www.reviewboard.org/users/>
>>>>>>>>> -~----------~----~----~----~--****----~----~------~--~---
>>>>>>>>> To unsubscribe from this group, send email to 
>>>>>>>>> reviewboard...@googlegroups.**co**m
>>>>>>>>> For more options, visit this group at http://groups.google.com/**
>>>>>>>>> group**/reviewboard?hl=en<http://groups.google.com/group/reviewboard?hl=en>
>>>>>>>>> --- 
>>>>>>>>> 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...@googlegroups.**co**m.
>>>>>>>>> For more options, visit https://groups.google.com/**grou**
>>>>>>>>> ps/opt_out <https://groups.google.com/groups/opt_out>.
>>>>>>>>>  
>>>>>>>>>  
>>>>>>>>>
>>>>>>>>
>>>>>>>>  -- 
>>>>>>> Want to help the Review Board project? Donate today at 
>>>>>>> http://www.reviewboard.org/**don**ate/<http://www.reviewboard.org/donate/>
>>>>>>> Happy user? Let us know at 
>>>>>>> http://www.reviewboard.org/**use**rs/<http://www.reviewboard.org/users/>
>>>>>>> -~----------~----~----~----~--****----~----~------~--~---
>>>>>>> To unsubscribe from this group, send email to 
>>>>>>> reviewboard...@googlegroups.**co**m
>>>>>>> For more options, visit this group at http://groups.google.com/**
>>>>>>> group**/reviewboard?hl=en<http://groups.google.com/group/reviewboard?hl=en>
>>>>>>> --- 
>>>>>>> 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...@googlegroups.**co**m.
>>>>>>> For more options, visit 
>>>>>>> https://groups.google.com/**grou**ps/opt_out<https://groups.google.com/groups/opt_out>
>>>>>>> .
>>>>>>>  
>>>>>>>  
>>>>>>>
>>>>>>>  -- 
>>>>>> Want to help the Review Board project? Donate today at 
>>>>>> http://www.reviewboard.org/**don**ate/<http://www.reviewboard.org/donate/>
>>>>>> Happy user? Let us know at 
>>>>>> http://www.reviewboard.org/**use**rs/<http://www.reviewboard.org/users/>
>>>>>> -~----------~----~----~----~--****----~----~------~--~---
>>>>>> To unsubscribe from this group, send email to reviewboard...@**
>>>>>> googlegroups.**com
>>>>>> For more options, visit this group at http://groups.google.com/**
>>>>>> group**/reviewboard?hl=en<http://groups.google.com/group/reviewboard?hl=en>
>>>>>> --- 
>>>>>> 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...@**googlegroups.**com.
>>>>>> For more options, visit 
>>>>>> https://groups.google.com/**grou**ps/opt_out<https://groups.google.com/groups/opt_out>
>>>>>> .
>>>>>>  
>>>>>>  
>>>>>>
>>>>>>
>>>>  -- 
>> Want to help the Review Board project? Donate today at 
>> http://www.reviewboard.org/donate/
>> Happy user? Let us know at http://www.reviewboard.org/users/
>> -~----------~----~----~----~------~----~------~--~---
>> To unsubscribe from this group, send email to 
>> reviewboard...@googlegroups.com <javascript:>
>> For more options, visit this group at 
>> http://groups.google.com/group/reviewboard?hl=en
>> --- 
>> 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...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>
>

-- 
Want to help the Review Board project? Donate today at 
http://www.reviewboard.org/donate/
Happy user? Let us know at http://www.reviewboard.org/users/
-~----------~----~----~----~------~----~------~--~---
To unsubscribe from this group, send email to 
reviewboard+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/reviewboard?hl=en
--- 
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