diff options
Diffstat (limited to 'api/migrations/versions/f1993296be9e_.py')
-rw-r--r-- | api/migrations/versions/f1993296be9e_.py | 35 |
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 ### |