30b0101584
This attempts to insert a temporary entry into each enum table until it succeeds. It re-synchronizes the postgres sequence generators with the max id of the table. Fixes #883 and #880
38 lines
963 B
Python
38 lines
963 B
Python
"""add new notification kinds
|
|
|
|
Revision ID: 4a0c94399f38
|
|
Revises: 1594a74a74ca
|
|
Create Date: 2014-08-28 16:17:01.898269
|
|
|
|
"""
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = '4a0c94399f38'
|
|
down_revision = '1594a74a74ca'
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
def upgrade(tables):
|
|
op.bulk_insert(tables.externalnotificationmethod,
|
|
[
|
|
{'name':'flowdock'},
|
|
{'name':'hipchat'},
|
|
{'name':'slack'},
|
|
])
|
|
|
|
def downgrade(tables):
|
|
op.execute(
|
|
(tables.externalnotificationmethod.delete()
|
|
.where(tables.externalnotificationmethod.c.name == op.inline_literal('flowdock')))
|
|
)
|
|
|
|
op.execute(
|
|
(tables.externalnotificationmethod.delete()
|
|
.where(tables.externalnotificationmethod.c.name == op.inline_literal('hipchat')))
|
|
)
|
|
|
|
op.execute(
|
|
(tables.externalnotificationmethod.delete()
|
|
.where(tables.externalnotificationmethod.c.name == op.inline_literal('slack')))
|
|
)
|