Merge branch 'master' into firetext-inbound-sms-not-null-provider

Conflicts:
	tests/app/db.py
This commit is contained in:
Martyn Inglis
2017-06-09 11:56:32 +01:00
30 changed files with 1076 additions and 383 deletions

View File

@@ -0,0 +1,32 @@
"""empty message
Revision ID: 0093_data_gov_uk
Revises: 0092_add_inbound_provider
Create Date: 2017-06-05 16:15:17.744908
"""
# revision identifiers, used by Alembic.
revision = '0093_data_gov_uk'
down_revision = '0092_add_inbound_provider'
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
DATA_GOV_UK_ID = '123496d4-44cb-4324-8e0a-4187101f4bdc'
def upgrade():
op.execute("""INSERT INTO organisation VALUES (
'{}',
'',
'data_gov_uk_x2.png',
''
)""".format(DATA_GOV_UK_ID))
def downgrade():
op.execute("""
DELETE FROM organisation WHERE "id" = '{}'
""".format(DATA_GOV_UK_ID))

View File

@@ -1,22 +0,0 @@
"""empty message
Revision ID: 0093_populate_inbound_provider
Revises: 0092_add_inbound_provider
Create Date: 2017-05-22 10:23:43.939050
"""
# revision identifiers, used by Alembic.
revision = '0093_populate_inbound_provider'
down_revision = '0092_add_inbound_provider'
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
def upgrade():
op.execute("UPDATE inbound_sms SET provider='mmg' WHERE provider is null")
def downgrade():
op.execute("UPDATE inbound_sms SET provider=null WHERE provider = 'mmg'")

View File

@@ -0,0 +1,25 @@
"""empty message
Revision ID: 0094_job_stats_update
Revises: 0093_data_gov_uk
Create Date: 2017-06-06 14:37:30.051647
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '0094_job_stats_update'
down_revision = '0093_data_gov_uk'
def upgrade():
op.add_column('job_statistics', sa.Column('sent', sa.BigInteger(), nullable=True))
op.add_column('job_statistics', sa.Column('delivered', sa.BigInteger(), nullable=True))
op.add_column('job_statistics', sa.Column('failed', sa.BigInteger(), nullable=True))
def downgrade():
op.drop_column('job_statistics', 'sent')
op.drop_column('job_statistics', 'failed')
op.drop_column('job_statistics', 'delivered')

View File

@@ -0,0 +1,39 @@
"""empty message
Revision ID: 0095_migrate_existing_svc_perms
Revises: 0094_job_stats_update
Create Date: 2017-05-23 18:13:03.532095
"""
# revision identifiers, used by Alembic.
revision = '0095_migrate_existing_svc_perms'
down_revision = '0094_job_stats_update'
from alembic import op
import sqlalchemy as sa
migration_date = '2017-05-26 17:30:00.000000'
def upgrade():
def get_values(permission):
return "SELECT id, '{0}', '{1}' FROM services WHERE "\
"id NOT IN (SELECT service_id FROM service_permissions "\
"WHERE service_id=id AND permission='{0}')".format(permission, migration_date)
def get_values_if_flag(permission, flag):
return "SELECT id, '{0}', '{1}' FROM services WHERE "\
"{2} AND id NOT IN (SELECT service_id FROM service_permissions "\
"WHERE service_id=id AND permission='{0}')".format(permission, migration_date, flag)
op.execute("INSERT INTO service_permissions (service_id, permission, created_at) {}".format(get_values('sms')))
op.execute("INSERT INTO service_permissions (service_id, permission, created_at) {}".format(get_values('email')))
op.execute("INSERT INTO service_permissions (service_id, permission, created_at) {}".format(
get_values_if_flag('letter', 'can_send_letters')))
op.execute("INSERT INTO service_permissions (service_id, permission, created_at) {}".format(
get_values_if_flag('international_sms', 'can_send_international_sms')))
def downgrade():
op.execute("DELETE FROM service_permissions WHERE created_at = '{}'::timestamp".format(migration_date))

View File

@@ -0,0 +1,35 @@
"""empty message
Revision ID: 0096_update_job_stats
Revises: 0095_migrate_existing_svc_perms
Create Date: 2017-06-08 15:46:49.637642
"""
# revision identifiers, used by Alembic.
revision = '0096_update_job_stats'
down_revision = '0095_migrate_existing_svc_perms'
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
def upgrade():
query = "UPDATE job_statistics " \
"set sent = sms_sent + emails_sent + letters_sent, " \
" delivered = sms_delivered + emails_delivered, " \
" failed = sms_failed + emails_failed + letters_failed "
conn = op.get_bind()
conn.execute(query)
def downgrade():
query = "UPDATE job_statistics " \
"set sent = 0, " \
" delivered = 0, " \
" failed = 0 "
conn = op.get_bind()
conn.execute(query)

View File

@@ -1,14 +1,14 @@
"""empty message
Revision ID: 0094_notnull_inbound_provider
Revises: 0093_populate_inbound_provider
Revision ID: 0097_notnull_inbound_provider
Revises: 0096_update_job_stats
Create Date: 2017-06-02 16:50:11.698423
"""
# revision identifiers, used by Alembic.
revision = '0094_notnull_inbound_provider'
down_revision = '0093_populate_inbound_provider'
revision = '0097_notnull_inbound_provider'
down_revision = '0096_update_job_stats'
from alembic import op
import sqlalchemy as sa