Class: AddStateToVisitorErrors

Inherits:
Object
  • Object
show all
Defined in:
lib/generators/ruby_cms/templates/db/migrate/20260525190000_add_state_to_visitor_errors.rb

Instance Method Summary collapse

Instance Method Details

#downObject



16
17
18
19
# File 'lib/generators/ruby_cms/templates/db/migrate/20260525190000_add_state_to_visitor_errors.rb', line 16

def down
  remove_index  :visitor_errors, :state, if_exists: true
  remove_column :visitor_errors, :state, if_exists: true
end

#upObject



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/generators/ruby_cms/templates/db/migrate/20260525190000_add_state_to_visitor_errors.rb', line 4

def up
  return unless table_exists?(:visitor_errors)
  return if column_exists?(:visitor_errors, :state)

  add_column :visitor_errors, :state, :string, default: "open", null: false
  add_index  :visitor_errors, :state, if_not_exists: true
  execute <<~SQL.squish
    UPDATE visitor_errors
    SET state = CASE WHEN resolved = TRUE THEN 'resolved' ELSE 'open' END
  SQL
end