summaryrefslogtreecommitdiffstats
path: root/api/migrations/versions/f1993296be9e_.py
diff options
context:
space:
mode:
Diffstat (limited to 'api/migrations/versions/f1993296be9e_.py')
-rw-r--r--api/migrations/versions/f1993296be9e_.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/api/migrations/versions/f1993296be9e_.py b/api/migrations/versions/f1993296be9e_.py
new file mode 100644
index 00000000..ac8e69ab
--- /dev/null
+++ b/api/migrations/versions/f1993296be9e_.py
@@ -0,0 +1,35 @@
+"""Flask-Security fs_uniquifier migration
+
+Revision ID: f1993296be9e
+Revises: f537ac7a67d6
+Create Date: 2021-02-25 10:50:29.973424
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = "f1993296be9e"
+down_revision = "f537ac7a67d6"
+
+from alembic import op # noqa: E402
+import sqlalchemy as sa # noqa: E402
+import uuid # noqa: E402
+
+
+def upgrade():
+ op.add_column("user", sa.Column("fs_uniquifier", sa.String(length=255), nullable=True))
+ user_table = sa.Table(
+ "user", sa.MetaData(), sa.Column("id", sa.Integer, primary_key=True), sa.Column("fs_uniquifier", sa.String)
+ )
+ conn = op.get_bind()
+ for row in conn.execute(sa.select([user_table.c.id])):
+ conn.execute(user_table.update().values(fs_uniquifier=uuid.uuid4().hex).where(user_table.c.id == row["id"]))
+ op.alter_column("user", "fs_uniquifier", nullable=False)
+
+ op.create_unique_constraint(None, "user", ["fs_uniquifier"])
+
+
+def downgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ op.drop_constraint(None, "user", type_="unique")
+ op.drop_column("user", "fs_uniquifier")
+ # ### end Alembic commands ###