Sha256: e51beb95f67aff9bed8bd2c6c12c057aeaaafb82850c617e282120f5f3bba18d

Contents?: true

Size: 788 Bytes

Versions: 5

Compression:

Stored size: 788 Bytes

Contents

# frozen_string_literal: true

class CreateCompactChannel < ActiveRecord::Migration[7.2]
  def up
    change_column :solid_cable_messages, :channel, :binary, limit: 1024, null: false
    add_column :solid_cable_messages, :channel_hash, :integer, limit: 8, if_not_exists: true
    add_index :solid_cable_messages, :channel_hash, if_not_exists: true
    change_column :solid_cable_messages, :payload, :binary, limit: 536_870_912, null: false

    SolidCable::Message.find_each do |msg|
      msg.update(channel_hash: SolidCable::Message.channel_hash_for(msg.channel))
    end
  end

  def down
    change_column :solid_cable_messages, :channel, :text
    remove_column :solid_cable_messages, :channel_hash, if_exists: true
    change_column :solid_cable_messages, :payload, :text
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
solid_cable-3.0.7 lib/generators/solid_cable/update/templates/db/migrate/create_compact_channel.rb
solid_cable-3.0.6 lib/generators/solid_cable/update/templates/db/migrate/create_compact_channel.rb
solid_cable-3.0.5 lib/generators/solid_cable/update/templates/db/migrate/create_compact_channel.rb
solid_cable-3.0.4 lib/generators/solid_cable/update/templates/db/migrate/create_compact_channel.rb
solid_cable-3.0.3 lib/generators/solid_cable/update/templates/db/migrate/create_compact_channel.rb