From 7518568c33b40afb3fa1922ca974186e2bfb19d9 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Wed, 14 Jun 2023 12:24:28 +0200 Subject: [PATCH] add migration --- migrations_lockfile.txt | 2 +- .../migrations/0488_add_orgauthtoken.py | 77 +++++++++++++++++++ 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 src/sentry/migrations/0488_add_orgauthtoken.py diff --git a/migrations_lockfile.txt b/migrations_lockfile.txt index 11116c806cc21..0322a72cb68db 100644 --- a/migrations_lockfile.txt +++ b/migrations_lockfile.txt @@ -6,5 +6,5 @@ To resolve this, rebase against latest master and regenerate your migration. Thi will then be regenerated, and you should be able to merge without conflicts. nodestore: 0002_nodestore_no_dictfield -sentry: 0487_add_indexes_to_bundles +sentry: 0488_add_orgauthtoken social_auth: 0001_initial diff --git a/src/sentry/migrations/0488_add_orgauthtoken.py b/src/sentry/migrations/0488_add_orgauthtoken.py new file mode 100644 index 0000000000000..efcdbcdbd00d1 --- /dev/null +++ b/src/sentry/migrations/0488_add_orgauthtoken.py @@ -0,0 +1,77 @@ +# Generated by Django 2.2.28 on 2023-06-14 10:24 + +import django.utils.timezone +from django.conf import settings +from django.db import migrations, models + +import sentry.db.models.fields.array +import sentry.db.models.fields.bounded +import sentry.db.models.fields.foreignkey +import sentry.db.models.fields.hybrid_cloud_foreign_key +import sentry.models.orgauthtoken +from sentry.new_migrations.migrations import CheckedMigration + + +class Migration(CheckedMigration): + # This flag is used to mark that a migration shouldn't be automatically run in production. For + # the most part, this should only be used for operations where it's safe to run the migration + # after your code has deployed. So this should not be used for most operations that alter the + # schema of a table. + # Here are some things that make sense to mark as dangerous: + # - Large data migrations. Typically we want these to be run manually by ops so that they can + # be monitored and not block the deploy for a long period of time while they run. + # - Adding indexes to large tables. Since this can take a long time, we'd generally prefer to + # have ops run this and not block the deploy. Note that while adding an index is a schema + # change, it's completely safe to run the operation after the code has deployed. + is_dangerous = False + + dependencies = [ + ("sentry", "0487_add_indexes_to_bundles"), + ] + + operations = [ + migrations.CreateModel( + name="OrgAuthToken", + fields=[ + ( + "id", + sentry.db.models.fields.bounded.BoundedBigAutoField( + primary_key=True, serialize=False + ), + ), + ( + "organization_id", + sentry.db.models.fields.hybrid_cloud_foreign_key.HybridCloudForeignKey( + "sentry.Organization", db_index=True, on_delete="CASCADE" + ), + ), + ("token_hashed", models.TextField(unique=True)), + ("token_last_characters", models.CharField(max_length=4, null=True)), + ("name", models.CharField(max_length=255)), + ( + "scope_list", + sentry.db.models.fields.array.ArrayField( + null=True, validators=[sentry.models.orgauthtoken.validate_scope_list] + ), + ), + ("date_added", models.DateTimeField(default=django.utils.timezone.now)), + ("date_last_used", models.DateTimeField(blank=True, null=True)), + ( + "project_last_used_id", + sentry.db.models.fields.hybrid_cloud_foreign_key.HybridCloudForeignKey( + "sentry.Project", blank=True, db_index=True, null=True, on_delete="SET_NULL" + ), + ), + ("date_deactivated", models.DateTimeField(blank=True, null=True)), + ( + "created_by", + sentry.db.models.fields.foreignkey.FlexibleForeignKey( + blank=True, null=True, on_delete="SET_NULL", to=settings.AUTH_USER_MODEL + ), + ), + ], + options={ + "db_table": "sentry_orgauthtoken", + }, + ), + ]