Merge pull request #2413 from alphagov/make-invited-users-folder-permissions-non-nullable

Make invited_users folder_permissions column non-nullable
This commit is contained in:
Katie Smith
2019-03-22 15:00:01 +00:00
committed by GitHub
2 changed files with 27 additions and 1 deletions

View File

@@ -1693,7 +1693,7 @@ class InvitedUser(db.Model):
nullable=False,
default=SMS_AUTH_TYPE
)
folder_permissions = db.Column(JSONB(none_as_null=True), nullable=True, default=[])
folder_permissions = db.Column(JSONB(none_as_null=True), nullable=False, default=[])
# would like to have used properties for this but haven't found a way to make them
# play nice with marshmallow yet

View File

@@ -0,0 +1,26 @@
"""
Revision ID: 0281_non_null_folder_permissions
Revises: 0280_invited_user_folder_perms
Create Date: 2019-03-20 10:12:24.927129
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
revision = '0281_non_null_folder_permissions'
down_revision = '0280_invited_user_folder_perms'
def upgrade():
op.execute("UPDATE invited_users SET folder_permissions = '[]' WHERE folder_permissions IS null")
op.alter_column('invited_users', 'folder_permissions',
existing_type=postgresql.JSONB(astext_type=sa.Text()),
nullable=False)
def downgrade():
op.alter_column('invited_users', 'folder_permissions',
existing_type=postgresql.JSONB(astext_type=sa.Text()),
nullable=True)