Skip to content

Commit cd8e0c9

Browse files
Fix irreversible upgrade migration (rails#44)
1 parent 3897956 commit cd8e0c9

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

bench/db/migrate/20240912235943_create_compact_channel.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
class CreateCompactChannel < ActiveRecord::Migration[7.2]
4-
def change
4+
def up
55
change_column :solid_cable_messages, :channel, :binary, limit: 1024, null: false
66
add_column :solid_cable_messages, :channel_hash, :integer, limit: 8, if_not_exists: true
77
add_index :solid_cable_messages, :channel_hash, if_not_exists: true
@@ -12,4 +12,10 @@ def change
1212
msg.update(channel_hash: SolidCable::Message.channel_hash_for(msg.channel))
1313
end
1414
end
15+
16+
def down
17+
change_column :solid_cable_messages, :channel, :text
18+
remove_column :solid_cable_messages, :channel_hash, if_exists: true
19+
change_column :solid_cable_messages, :payload, :text
20+
end
1521
end

lib/generators/solid_cable/update/templates/db/migrate/create_compact_channel.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
class CreateCompactChannel < ActiveRecord::Migration[7.2]
4-
def change
4+
def up
55
change_column :solid_cable_messages, :channel, :binary, limit: 1024, null: false
66
add_column :solid_cable_messages, :channel_hash, :integer, limit: 8, if_not_exists: true
77
add_index :solid_cable_messages, :channel_hash, if_not_exists: true
@@ -11,4 +11,10 @@ def change
1111
msg.update(channel_hash: SolidCable::Message.channel_hash_for(msg.channel))
1212
end
1313
end
14+
15+
def down
16+
change_column :solid_cable_messages, :channel, :text
17+
remove_column :solid_cable_messages, :channel_hash, if_exists: true
18+
change_column :solid_cable_messages, :payload, :text
19+
end
1420
end

0 commit comments

Comments
 (0)