4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/generators/ruby_cms/templates/db/migrate/20260127000001_add_locale_to_ruby_cms_content_blocks.rb', line 4
def change
return unless table_exists?(:ruby_cms_content_blocks)
unless column_exists?(:ruby_cms_content_blocks, :locale)
add_column :ruby_cms_content_blocks, :locale, :string, default: "en", null: false
end
remove_index :ruby_cms_content_blocks, :key if index_exists?(:ruby_cms_content_blocks, :key)
add_index :ruby_cms_content_blocks, %i[key locale], unique: true, if_not_exists: true
add_index :ruby_cms_content_blocks, :locale, if_not_exists: true
reversible do |dir|
dir.up do
default_locale = begin
I18n.default_locale.to_s
rescue StandardError
"en"
end
execute <<~SQL.squish
UPDATE ruby_cms_content_blocks
SET locale = '#{default_locale}'
WHERE locale IS NULL OR locale = ''
SQL
end
end
end
|