|
@@ -0,0 +1,92 @@
|
|
|
+# Generated by Django 2.2.24 on 2022-01-06 19:58
|
|
|
+
|
|
|
+import django.db.models.deletion
|
|
|
+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
|
|
|
+
|
|
|
+
|
|
|
+class Migration(migrations.Migration):
|
|
|
+ # This flag is used to mark that a migration shouldn't be automatically run in
|
|
|
+ # production. We set this to True for operations that we think are risky and want
|
|
|
+ # someone from ops to run manually and monitor.
|
|
|
+ # General advice is that if in doubt, mark your migration as `is_dangerous`.
|
|
|
+ # Some things you should always mark as dangerous:
|
|
|
+ # - Large data migrations. Typically we want these to be run manually by ops so that
|
|
|
+ # they can be monitored. Since data migrations will now hold a transaction open
|
|
|
+ # this is even more important.
|
|
|
+ # - Adding columns to highly active tables, even ones that are NULL.
|
|
|
+ is_dangerous = False
|
|
|
+
|
|
|
+ # This flag is used to decide whether to run this migration in a transaction or not.
|
|
|
+ # By default we prefer to run in a transaction, but for migrations where you want
|
|
|
+ # to `CREATE INDEX CONCURRENTLY` this needs to be set to False. Typically you'll
|
|
|
+ # want to create an index concurrently when adding one to an existing table.
|
|
|
+ # You'll also usually want to set this to `False` if you're writing a data
|
|
|
+ # migration, since we don't want the entire migration to run in one long-running
|
|
|
+ # transaction.
|
|
|
+ atomic = True
|
|
|
+
|
|
|
+ dependencies = [
|
|
|
+ ("sentry", "0264_use_booleanfield_docintegration"),
|
|
|
+ ]
|
|
|
+
|
|
|
+ operations = [
|
|
|
+ migrations.CreateModel(
|
|
|
+ name="UserRole",
|
|
|
+ fields=[
|
|
|
+ (
|
|
|
+ "id",
|
|
|
+ sentry.db.models.fields.bounded.BoundedBigAutoField(
|
|
|
+ primary_key=True, serialize=False
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ("date_updated", models.DateTimeField(default=django.utils.timezone.now)),
|
|
|
+ ("date_added", models.DateTimeField(default=django.utils.timezone.now, null=True)),
|
|
|
+ ("name", models.CharField(max_length=32, unique=True)),
|
|
|
+ ("permissions", sentry.db.models.fields.array.ArrayField(null=True)),
|
|
|
+ ],
|
|
|
+ options={
|
|
|
+ "db_table": "sentry_userrole",
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ migrations.CreateModel(
|
|
|
+ name="UserRoleUser",
|
|
|
+ fields=[
|
|
|
+ (
|
|
|
+ "id",
|
|
|
+ sentry.db.models.fields.bounded.BoundedBigAutoField(
|
|
|
+ primary_key=True, serialize=False
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ("date_updated", models.DateTimeField(default=django.utils.timezone.now)),
|
|
|
+ ("date_added", models.DateTimeField(default=django.utils.timezone.now, null=True)),
|
|
|
+ (
|
|
|
+ "role",
|
|
|
+ sentry.db.models.fields.foreignkey.FlexibleForeignKey(
|
|
|
+ on_delete=django.db.models.deletion.CASCADE, to="sentry.UserRole"
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "user",
|
|
|
+ sentry.db.models.fields.foreignkey.FlexibleForeignKey(
|
|
|
+ on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ options={
|
|
|
+ "db_table": "sentry_userrole_users",
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ migrations.AddField(
|
|
|
+ model_name="userrole",
|
|
|
+ name="users",
|
|
|
+ field=models.ManyToManyField(
|
|
|
+ through="sentry.UserRoleUser", to=settings.AUTH_USER_MODEL
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ]
|