35 lines
749 B
Ruby
35 lines
749 B
Ruby
# frozen_string_literal: true
|
|
|
|
class AddComponentToThemes < ActiveRecord::Migration[5.2]
|
|
def up
|
|
add_column :themes, :component, :boolean, null: false, default: false
|
|
|
|
execute(
|
|
"
|
|
UPDATE themes
|
|
SET component = true, color_scheme_id = NULL, user_selectable = false
|
|
WHERE id IN (SELECT child_theme_id FROM child_themes)
|
|
",
|
|
)
|
|
|
|
execute(
|
|
"
|
|
UPDATE site_settings
|
|
SET value = -1
|
|
WHERE name = 'default_theme_id' AND value::integer IN (SELECT id FROM themes WHERE component)
|
|
",
|
|
)
|
|
|
|
execute(
|
|
"
|
|
DELETE FROM child_themes
|
|
WHERE parent_theme_id IN (SELECT id FROM themes WHERE component)
|
|
",
|
|
)
|
|
end
|
|
|
|
def down
|
|
remove_column :themes, :component
|
|
end
|
|
end
|