class CreateValidationEvents < ActiveRecord::Migration[6.1] def up execute <<-SQL CREATE TYPE validation_type AS ENUM ('email_validation', 'manual_force_delete'); SQL create_table :validation_events do |t| t.jsonb :event_data t.boolean :success t.references :validation_eventable, polymorphic: true t.timestamps end add_column :validation_events, :event_type, :validation_type add_index :validation_events, :event_type end def down remove_column :validation_events, :event_type execute <<-SQL DROP TYPE validation_type; SQL drop_table :validation_events end end