Sha256: 2820797aa578ef6fabee79bb8dde37ed9f1a882b3751bc91151c381d7b18f83f
Contents?: true
Size: 1.12 KB
Versions: 10
Compression:
Stored size: 1.12 KB
Contents
require 'pact_broker/db/data_migrations/helpers' module PactBroker module DB module DataMigrations class MigrateWebhookHeaders extend Helpers def self.call(connection) if columns_exist?(connection) connection[:webhook_headers].for_update.each do | webhook_header | webhook = connection[:webhooks].for_update.where(id: webhook_header[:webhook_id]).first new_headers = webhook[:headers] ? JSON.parse(webhook[:headers]) : {} new_headers.merge!(webhook_header[:name] => webhook_header[:value]) connection[:webhooks].where(id: webhook[:id]).update(headers: new_headers.to_json) connection[:webhook_headers].where(webhook_header).delete end end end def self.columns_exist?(connection) column_exists?(connection, :webhooks, :headers) && column_exists?(connection, :webhook_headers, :name) && column_exists?(connection, :webhook_headers, :value) && column_exists?(connection, :webhook_headers, :webhook_id) end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems