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.