#----- Evolution for auth
from django_evolution.mutations import ChangeMeta, DeleteModel


MUTATIONS = [
    ChangeMeta('Permission', 'unique_together', ((u'content_type', u'codename'),)),
    DeleteModel('Message')
]
#----------------------
#----- Evolution for contenttypes
from django_evolution.mutations import ChangeMeta


MUTATIONS = [
    ChangeMeta('ContentType', 'unique_together', (('app_label', 'model'),))
]
#----------------------
#----- Evolution for accounts
from django_evolution.mutations import AddField, ChangeMeta, DeleteField
from django.db import models
from djblets.db.fields import JSONField


MUTATIONS = [
    AddField('Profile', 'default_use_rich_text', models.NullBooleanField, null=True),
    AddField('Profile', 'should_send_email', models.BooleanField, initial=True),
    AddField('Profile', 'timezone', models.CharField, initial=u'UTC', max_length=30),
    AddField('Profile', 'open_an_issue', models.BooleanField, initial=True),
    AddField('Profile', 'extra_data', JSONField, null=True),
    AddField('Profile', 'show_closed', models.BooleanField, initial=True),
    AddField('Profile', 'should_send_own_updates', models.BooleanField, initial=True),
    DeleteField('Profile', 'show_submitted'),
    ChangeMeta('ReviewRequestVisit', 'unique_together', ((u'user', u'review_request'),)),
    AddField('LocalSiteProfile', 'permissions', JSONField, null=True),
    ChangeMeta('LocalSiteProfile', 'unique_together', ((u'user', u'local_site'), (u'profile', u'local_site')))
]
#----------------------
#----- Evolution for attachments
from django_evolution.mutations import AddField, ChangeField
from django.db import models


MUTATIONS = [
    AddField('FileAttachment', 'orig_filename', models.CharField, max_length=256, null=True),
    AddField('FileAttachment', 'added_in_filediff', models.ForeignKey, null=True, related_model='diffviewer.FileDiff'),
    AddField('FileAttachment', 'repository', models.ForeignKey, null=True, related_model='scmtools.Repository'),
    AddField('FileAttachment', 'repo_revision', models.CharField, max_length=64, null=True, db_index=True),
    AddField('FileAttachment', 'repo_path', models.CharField, max_length=1024, null=True),
    ChangeField('FileAttachment', 'file', initial=None, max_length=512)
]
#----------------------
#----- Evolution for changedescs
from django_evolution.mutations import AddField
from django.db import models


MUTATIONS = [
    AddField('ChangeDescription', 'rich_text', models.BooleanField, initial=False)
]
#----------------------
#----- Evolution for diffviewer
from django_evolution.mutations import AddField, DeleteField
from django.db import models
from djblets.db.fields import Base64Field
from djblets.db.fields import JSONField


MUTATIONS = [
    AddField('DiffSet', 'base_commit_id', models.CharField, max_length=64, null=True, db_index=True),
    AddField('DiffSet', 'extra_data', JSONField, null=True),
    AddField('DiffSetHistory', 'last_diff_updated', models.DateTimeField, null=True),
    AddField('DiffSetHistory', 'extra_data', JSONField, 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=u'', db_column=u'diff_base64'),
    AddField('FileDiff', 'parent_diff64', Base64Field, initial=u'', db_column=u'parent_diff_base64'),
    AddField('FileDiff', 'extra_data', JSONField, null=True),
    DeleteField('FileDiff', 'parent_diff'),
    DeleteField('FileDiff', 'diff')
]
#----------------------
#----- Evolution for hostingsvcs
from django_evolution.mutations import AddField, ChangeMeta
from django.db import models


MUTATIONS = [
    AddField('HostingServiceAccount', 'hosting_url', models.CharField, max_length=255, null=True),
    ChangeMeta('HostingServiceAccount', 'unique_together', [])
]
#----------------------
#----- Evolution for reviews
from django_evolution.mutations import AddField, ChangeField, ChangeMeta, DeleteField
from django.db import models
from djblets.db.fields import CounterField
from djblets.db.fields import JSONField


MUTATIONS = [
    AddField('Comment', 'rich_text', models.BooleanField, initial=False),
    AddField('Comment', 'extra_data', JSONField, null=True),
    AddField('Group', 'extra_data', JSONField, null=True),
    ChangeField('Group', 'mailing_list', initial=None, max_length=254),
    ChangeMeta('Group', 'unique_together', ((u'name', u'local_site'),)),
    AddField('FileAttachmentComment', 'diff_against_file_attachment', models.ForeignKey, null=True, related_model='attachments.FileAttachment'),
    AddField('FileAttachmentComment', 'rich_text', models.BooleanField, initial=False),
    AddField('FileAttachmentComment', 'extra_data', JSONField, null=True),
    AddField('Review', 'body_top_rich_text', models.BooleanField, initial=False),
    AddField('Review', 'body_bottom_rich_text', models.BooleanField, initial=False),
    AddField('Review', 'rich_text', models.BooleanField, initial=False),
    AddField('Review', 'extra_data', JSONField, null=True),
    AddField('ReviewRequestDraft', 'description_rich_text', models.BooleanField, initial=False),
    AddField('ReviewRequestDraft', 'depends_on', models.ManyToManyField, null=True, related_model='reviews.ReviewRequest'),
    AddField('ReviewRequestDraft', 'extra_data', JSONField, null=True),
    AddField('ReviewRequestDraft', 'rich_text', models.BooleanField, initial=False),
    AddField('ReviewRequestDraft', 'commit_id', models.CharField, max_length=64, null=True, db_index=True),
    AddField('ReviewRequestDraft', 'testing_done_rich_text', models.BooleanField, initial=False),
    AddField('ReviewRequest', 'last_review_activity_timestamp', models.DateTimeField, null=True, db_column=u'last_review_timestamp'),
    AddField('ReviewRequest', 'issue_dropped_count', CounterField, null=True),
    AddField('ReviewRequest', 'description_rich_text', models.BooleanField, initial=False),
    AddField('ReviewRequest', 'depends_on', models.ManyToManyField, null=True, related_model='reviews.ReviewRequest'),
    AddField('ReviewRequest', 'extra_data', JSONField, null=True),
    AddField('ReviewRequest', 'commit_id', models.CharField, max_length=64, null=True, db_index=True),
    AddField('ReviewRequest', 'issue_resolved_count', CounterField, null=True),
    AddField('ReviewRequest', 'issue_open_count', CounterField, null=True),
    AddField('ReviewRequest', 'testing_done_rich_text', models.BooleanField, initial=False),
    AddField('ReviewRequest', 'rich_text', models.BooleanField, initial=False),
    DeleteField('ReviewRequest', 'last_review_timestamp'),
    ChangeMeta('ReviewRequest', 'unique_together', ((u'commit_id', u'repository'), (u'changenum', u'repository'), (u'local_site', u'local_id'))),
    AddField('ScreenshotComment', 'rich_text', models.BooleanField, initial=False),
    AddField('ScreenshotComment', 'extra_data', JSONField, null=True)
]
#----------------------
#----- Evolution for scmtools
from django_evolution.mutations import AddField, ChangeMeta, DeleteField
from django.db import models
from djblets.db.fields import JSONField


MUTATIONS = [
    AddField('Repository', 'encrypted_password', models.CharField, initial=u'', max_length=128, db_column=u'password'),
    AddField('Repository', 'archived_timestamp', models.DateTimeField, null=True),
    AddField('Repository', 'archived', models.BooleanField, initial=False),
    AddField('Repository', 'hosting_account', models.ForeignKey, null=True, related_model='hostingsvcs.HostingServiceAccount'),
    AddField('Repository', 'hooks_uuid', models.CharField, max_length=32, null=True),
    AddField('Repository', 'extra_data', JSONField, null=True),
    DeleteField('Repository', 'password'),
    ChangeMeta('Repository', 'unique_together', ((u'name', u'local_site'), (u'archived_timestamp', u'path', u'local_site'), (u'hooks_uuid', u'local_site')))
]
#----------------------
#----- Evolution for site
from django_evolution.mutations import AddField
from django.db import models


MUTATIONS = [
    AddField('LocalSite', 'public', models.BooleanField, initial=False)
]
#----------------------
Trial evolution successful.
