[1/3] Add SSO account ID in table Users

Message ID 20200608181627.GA71726@tsubame.mg0.fr
State New
Headers show
Series
  • [1/3] Add SSO account ID in table Users
Related show

Commit Message

Frédéric Mangano-Tarumi June 8, 2020, 6:16 p.m. UTC
This column holds a user ID issed by the single sign-on provider. For
Keycloak, it is an UUID. For more flexibility, we will be using a
standardly-sized VARCHAR field.
---
 aurweb/schema.py                              |  1 +
 ...6e1cd_add_sso_account_id_in_table_users.py | 30 +++++++++++++++++++
 2 files changed, 31 insertions(+)
 create mode 100644 migrations/versions/ef39fcd6e1cd_add_sso_account_id_in_table_users.py

Patch

diff --git a/aurweb/schema.py b/aurweb/schema.py
index 20f3e5ce..a1d56281 100644
--- a/aurweb/schema.py
+++ b/aurweb/schema.py
@@ -67,6 +67,7 @@  Users = Table(
     Column('CommentNotify', TINYINT(1), nullable=False, server_default=text("1")),
     Column('UpdateNotify', TINYINT(1), nullable=False, server_default=text("0")),
     Column('OwnershipNotify', TINYINT(1), nullable=False, server_default=text("1")),
+    Column('SSOAccountID', String(255), nullable=True, unique=True),
     Index('UsersAccountTypeID', 'AccountTypeID'),
     mysql_engine='InnoDB',
 )
diff --git a/migrations/versions/ef39fcd6e1cd_add_sso_account_id_in_table_users.py b/migrations/versions/ef39fcd6e1cd_add_sso_account_id_in_table_users.py
new file mode 100644
index 00000000..9e125165
--- /dev/null
+++ b/migrations/versions/ef39fcd6e1cd_add_sso_account_id_in_table_users.py
@@ -0,0 +1,30 @@ 
+"""Add SSO account ID in table Users
+
+Revision ID: ef39fcd6e1cd
+Revises: f47cad5d6d03
+Create Date: 2020-06-08 10:04:13.898617
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = 'ef39fcd6e1cd'
+down_revision = 'f47cad5d6d03'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    op.add_column('Users', sa.Column('SSOAccountID', sa.String(length=255), nullable=True))
+    op.create_unique_constraint(None, 'Users', ['SSOAccountID'])
+    # ### end Alembic commands ###
+
+
+def downgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    op.drop_constraint(None, 'Users', type_='unique')
+    op.drop_column('Users', 'SSOAccountID')
+    # ### end Alembic commands ###