1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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 ###
|