This repository has been archived on 2020-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
quay/data/migrations/versions/47670cbeced_migrate_existing_webhooks_to_.py

29 lines
1.3 KiB
Python

"""Migrate existing webhooks to notifications.
Revision ID: 47670cbeced
Revises: 325a4d7c79d9
Create Date: 2014-07-31 13:49:38.332807
Hand Edited By Joseph Schorr
"""
# revision identifiers, used by Alembic.
revision = '47670cbeced'
down_revision = '325a4d7c79d9'
from alembic import op
import sqlalchemy as sa
from data.database import *
from app import app
def upgrade():
event_id = list(db.execute_sql('Select id From ExternalNotificationEvent Where name="repo_push" Limit 1', ()))[0][0]
method_id = list(db.execute_sql('Select id From ExternalNotificationMethod Where name="webhook" Limit 1', ()))[0][0]
db.execute_sql('Insert Into RepositoryNotification (uuid, repository_id, event_id, method_id, config_json) Select public_id, repository_id, %s, %s, parameters FROM Webhook' % (event_id, method_id))
def downgrade():
event_id = list(db.execute_sql('Select id From ExternalNotificationEvent Where name="repo_push" Limit 1', ()))[0][0]
method_id = list(db.execute_sql('Select id From ExternalNotificationMethod Where name="webhook" Limit 1', ()))[0][0]
db.execute_sql('Insert Into Webhook (public_id, repository_id, parameters) Select uuid, repository_id, config_json FROM RepositoryNotification Where event_id=%s And method_id=%s' % (event_id, method_id))