backend/code_review_backend/issues/migrations/0003_diff_repository.py (49 lines of code) (raw):

# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # Generated by Django 2.2.6 on 2019-11-27 10:23 import django.db.models.deletion from django.db import migrations, models def _create_diff_repos(apps, schema_editor): """ Initialize the repositories for existing Diff instances We currently only have try repositories, so it's easy: - a revision on MC has diffs on Try - a revision on NSS has diffs on NSS-Try """ Repository = apps.get_model("issues", "Repository") Diff = apps.get_model("issues", "Diff") # Create try repositories repo_try = Repository.objects.create( id=100, slug="try", url="https://hg.mozilla.org/try" ) repo_nss_try = Repository.objects.create( id=101, slug="nss-try", url="https://hg.mozilla.org/projects/nss-try" ) # MC revisions have diffs on Try Diff.objects.filter(revision__repository__slug="mozilla-central").update( repository=repo_try ) # NSS revisions have diffs on NSS Try Diff.objects.filter(revision__repository__slug="nss").update( repository=repo_nss_try ) class Migration(migrations.Migration): dependencies = [("issues", "0002_compare_issues")] operations = [ migrations.AlterField( model_name="repository", name="phid", field=models.CharField(blank=True, max_length=40, null=True), ), migrations.AddField( model_name="diff", name="repository", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name="diffs", to="issues.Repository", ), preserve_default=False, ), migrations.RunPython(_create_diff_repos), migrations.AlterField( model_name="diff", name="repository", field=models.ForeignKey( null=False, on_delete=django.db.models.deletion.CASCADE, related_name="diffs", to="issues.Repository", ), preserve_default=False, ), ]