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 reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to