Just to provide an update, it works! Thanks a lot

On Wednesday, May 3, 2017 at 5:50:54 PM UTC-7, Kevin Yu wrote:
>
> 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]> 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].
>>> 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