From 3e704079810576eb42b10925c84fb486412c8de5 Mon Sep 17 00:00:00 2001 From: Katie Smith Date: Mon, 11 Mar 2019 14:30:47 +0000 Subject: [PATCH] Migration to add folder_permissions to invited_users table Added a new JSONB column, folder_permissions, to the invited_users table to store a list of folders that an invited user can see. This is nullable for now, but will be changed to be non-nullable and back-populated later. --- app/models.py | 4 +++- .../0280_invited_user_folder_perms.py | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 migrations/versions/0280_invited_user_folder_perms.py diff --git a/app/models.py b/app/models.py index 57de4a046..c90b75fed 100644 --- a/app/models.py +++ b/app/models.py @@ -8,7 +8,8 @@ from sqlalchemy.ext.associationproxy import association_proxy from sqlalchemy.ext.hybrid import hybrid_property from sqlalchemy.dialects.postgresql import ( UUID, - JSON + JSON, + JSONB, ) from sqlalchemy import UniqueConstraint, CheckConstraint, Index from notifications_utils.columns import Columns @@ -1692,6 +1693,7 @@ class InvitedUser(db.Model): nullable=False, default=SMS_AUTH_TYPE ) + folder_permissions = db.Column(JSONB(none_as_null=True), nullable=True, default=[]) # would like to have used properties for this but haven't found a way to make them # play nice with marshmallow yet diff --git a/migrations/versions/0280_invited_user_folder_perms.py b/migrations/versions/0280_invited_user_folder_perms.py new file mode 100644 index 000000000..bee657d04 --- /dev/null +++ b/migrations/versions/0280_invited_user_folder_perms.py @@ -0,0 +1,21 @@ +""" + +Revision ID: 0280_invited_user_folder_perms +Revises: 0279_remove_fk_to_users +Create Date: 2019-03-11 14:38:28.010082 + +""" +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +revision = '0280_invited_user_folder_perms' +down_revision = '0279_remove_fk_to_users' + + +def upgrade(): + op.add_column('invited_users', sa.Column('folder_permissions', postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), nullable=True)) + + +def downgrade(): + op.drop_column('invited_users', 'folder_permissions')