diff --git a/app/models.py b/app/models.py index c90b75fed..30289da1d 100644 --- a/app/models.py +++ b/app/models.py @@ -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 diff --git a/migrations/versions/0281_non_null_folder_permissions.py b/migrations/versions/0281_non_null_folder_permissions.py new file mode 100644 index 000000000..9d27e3b02 --- /dev/null +++ b/migrations/versions/0281_non_null_folder_permissions.py @@ -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)