Add svc perms migration script and update readme

This commit is contained in:
Ken Tsang
2017-05-24 11:40:57 +01:00
parent 67246f2da5
commit eda3e412f7
2 changed files with 31 additions and 1 deletions

View File

@@ -1,7 +1,9 @@
Generic single-database configuration. Generic single-database configuration.
python application.py db migration to generate migration script. python application.py db migrate to generate migration script.
python application.py db upgrade to upgrade db with script. python application.py db upgrade to upgrade db with script.
python application.py db downgrade to rollback db changes. python application.py db downgrade to rollback db changes.
python application.py db current to show current script.

View File

@@ -0,0 +1,28 @@
"""empty message
Revision ID: 0086_migrate_default_svc_perms
Revises: 0085_update_incoming_to_inbound
Create Date: 2017-05-23 18:13:03.532095
"""
# revision identifiers, used by Alembic.
revision = '0086_migrate_default_svc_perms'
down_revision = '0085_update_incoming_to_inbound'
from alembic import op
import sqlalchemy as sa
def upgrade():
def get_values(permission):
return "SELECT id, '{0}' FROM services WHERE "\
"id NOT IN (SELECT service_id FROM service_permissions "\
"WHERE service_id=id AND permission='{0}')".format(permission)
op.execute("INSERT INTO service_permissions (service_id, permission) {}".format(get_values('sms')))
op.execute("INSERT INTO service_permissions (service_id, permission) {}".format(get_values('email')))
def downgrade():
op.execute("DELETE FROM service_permissions WHERE created_at IS NULL")