Files
notifications-api/migrations/versions/0285_default_org_branding.py
Chris Hill-Scott 2ef9618e70 Set default branding for all organisations
Currently when someone creates a service we match them to an
organisation. Then if the organisation has a default branding set, their
service gets that branding.

However none of the organisations yet have a default branding set up.
This commit migrates the data about the relationship between an
organisation and its branding from being inferred from the `domain`
field on the branding, to being a proper database relationship.
2019-04-05 15:40:20 +01:00

48 lines
1.1 KiB
Python

"""empty message
Revision ID: 0285_default_org_branding
Revises: 0284_0283_retry
Create Date: 2016-10-25 17:37:27.660723
"""
# revision identifiers, used by Alembic.
revision = '0285_default_org_branding'
down_revision = '0284_0283_retry'
from alembic import op
import sqlalchemy as sa
BRANDING_TABLES = ('email_branding', 'letter_branding')
def upgrade():
for branding in BRANDING_TABLES:
op.execute("""
UPDATE
organisation
SET
{branding}_id = {branding}.id
FROM
{branding}
WHERE
{branding}.domain in (
SELECT
domain
FROM
domain
WHERE
domain.organisation_id = organisation.id
)
""".format(branding=branding))
def downgrade():
for branding in BRANDING_TABLES:
op.execute("""
UPDATE
organisation
SET
{branding}_id = null
""".format(branding=branding))