Add ability for triggers to be disabled
Will be used in the followup commit to automatically disable broken triggers
This commit is contained in:
parent
1e54a4d9e9
commit
c35eec0615
18 changed files with 358 additions and 37 deletions
|
@ -0,0 +1,56 @@
|
|||
"""Add ability for build triggers to be disabled
|
||||
|
||||
Revision ID: 61cadbacb9fc
|
||||
Revises: d8989249f8f6
|
||||
Create Date: 2017-10-18 12:07:26.190901
|
||||
|
||||
"""
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '61cadbacb9fc'
|
||||
down_revision = 'd8989249f8f6'
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import mysql
|
||||
|
||||
def upgrade(tables):
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.create_table('disablereason',
|
||||
sa.Column('id', sa.Integer(), nullable=False),
|
||||
sa.Column('name', sa.String(length=255), nullable=False),
|
||||
sa.PrimaryKeyConstraint('id', name=op.f('pk_disablereason'))
|
||||
)
|
||||
op.create_index('disablereason_name', 'disablereason', ['name'], unique=True)
|
||||
|
||||
op.bulk_insert(
|
||||
tables.disablereason,
|
||||
[
|
||||
{'id': 1, 'name': 'user_toggled'},
|
||||
],
|
||||
)
|
||||
|
||||
op.bulk_insert(tables.logentrykind, [
|
||||
{'name': 'toggle_repo_trigger'},
|
||||
])
|
||||
|
||||
op.add_column(u'repositorybuildtrigger', sa.Column('disabled_reason_id', sa.Integer(), nullable=True))
|
||||
op.add_column(u'repositorybuildtrigger', sa.Column('enabled', sa.Boolean(), nullable=False))
|
||||
op.create_index('repositorybuildtrigger_disabled_reason_id', 'repositorybuildtrigger', ['disabled_reason_id'], unique=False)
|
||||
op.create_foreign_key(op.f('fk_repositorybuildtrigger_disabled_reason_id_disablereason'), 'repositorybuildtrigger', 'disablereason', ['disabled_reason_id'], ['id'])
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade(tables):
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_constraint(op.f('fk_repositorybuildtrigger_disabled_reason_id_disablereason'), 'repositorybuildtrigger', type_='foreignkey')
|
||||
op.drop_index('repositorybuildtrigger_disabled_reason_id', table_name='repositorybuildtrigger')
|
||||
op.drop_column(u'repositorybuildtrigger', 'enabled')
|
||||
op.drop_column(u'repositorybuildtrigger', 'disabled_reason_id')
|
||||
op.drop_table('disablereason')
|
||||
# ### end Alembic commands ###
|
||||
|
||||
op.execute(tables
|
||||
.logentrykind
|
||||
.delete()
|
||||
.where(tables.logentrykind.c.name == op.inline_literal('toggle_repo_trigger')))
|
|
@ -10,7 +10,8 @@ Create Date: 2017-03-17 10:00:19.739858
|
|||
import json
|
||||
import os
|
||||
|
||||
from data.database import RepositoryBuildTrigger
|
||||
from peewee import *
|
||||
from data.database import BaseModel
|
||||
|
||||
revision = 'a6c463dfb9fe'
|
||||
down_revision = 'b4df55dea4b3'
|
||||
|
@ -18,6 +19,9 @@ down_revision = 'b4df55dea4b3'
|
|||
from alembic import op
|
||||
|
||||
|
||||
class RepositoryBuildTrigger(BaseModel):
|
||||
config = TextField(default='{}')
|
||||
|
||||
def upgrade(tables):
|
||||
repostioryBuildTriggers = RepositoryBuildTrigger.select()
|
||||
for repositoryBuildTrigger in repostioryBuildTriggers:
|
||||
|
|
Reference in a new issue