Thanks David! I will give it a try!

On Wednesday, May 3, 2017 at 4:25:03 PM UTC-7, David Trowbridge wrote:
>
> Kevin,
>
> The correct solution is to write your own evolution. See 
> https://www.reviewboard.org/docs/manual/2.5/extending/extensions/models/#making-changes-to-custom-models
>  for 
> instructions on how to do this and where to put the file.
>
> -David
>
> On Wed, May 3, 2017 at 4:08 PM Kevin Yu <[email protected] <javascript:>> 
> wrote:
>
>> Hi All, 
>>
>> Recently we updated our database schema to add another field to a table 
>> that's used by our own reviewboard extension. When we run python setup.py 
>> install to install the extension, we run into the following error:
>>
>> stdout: Project signature has changed - an evolution is required
>>
>>
>> stderr: WARNING:py.warnings:/usr/local/lib/python2.7/dist-packages/Django
>> -1.6.11-py2.7.egg/django/db/backends/mysql/base.py:124: Warning: 
>> Specified key was too long; max key length is 767 bytes
>>   return self.cursor.execute(query, args)
>>
>>
>> ERROR:root:Error evolving extension models: Your models contain changes 
>> that Django Evolution cannot resolve automatically.: 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 fortinet.required_by_branch:
>>     Field 'CLI_review_group' has been added
>> Traceback (most recent call last):
>>   File 
>> "/usr/local/lib/python2.7/dist-packages/Djblets-0.9.3-py2.7.egg/djblets/extensions/manager.py"
>> , line 1068, in _migrate_extension_models
>>     stdout=stream, stderr=stream)
>>   File 
>> "/usr/local/lib/python2.7/dist-packages/Django-1.6.11-py2.7.egg/django/core/management/base.py"
>> , line 285, in execute
>>     output = self.handle(*args, **options)
>>   File 
>> "/usr/local/lib/python2.7/dist-packages/django_evolution-0.7.6-py2.7.egg/django_evolution/management/commands/evolve.py"
>> , line 65, in handle
>>     self.evolve(*app_labels, **options)
>>   File 
>> "/usr/local/lib/python2.7/dist-packages/django_evolution-0.7.6-py2.7.egg/django_evolution/management/commands/evolve.py"
>> , line 133, in evolve
>>     self.check_simulation()
>>   File 
>> "/usr/local/lib/python2.7/dist-packages/django_evolution-0.7.6-py2.7.egg/django_evolution/management/commands/evolve.py"
>> , line 262, in check_simulation
>>     raise CommandError('Your models contain changes that Django '
>> CommandError: Your models contain changes that Django Evolution cannot 
>> resolve automatically.
>>
>>
>>
>> Eventually, what we had to do is manually add the field to mysql, then 
>> run the following commands and restart apache2.
>> rb-site manage /var/www/reviews.example.com shell 
>> from django_evolution.models import Version
>> Version.objects.exclude(evolutions__pk__gt=0).delete()
>>
>>
>> I know this is probably a hack at the moment, but what would be the 
>> proper time to handle database schema update for reviewboard extension? The 
>> Reviewboard version i'm using is 2.5.6.1.
>>
>> -- 
>> 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] <javascript:>.
>> 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.

Reply via email to