mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-09 23:02:13 -05:00
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.
48 lines
1.1 KiB
Python
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))
|