To prepare the database for version 0.4.0, generate a migration for your specific error database and update it to change column types to limitless text and add the fingerprint column with a unique index.
rails generate migration UpgradeSolidErrors --database {name_of_errors_database}
class UpgradeSolidErrors < ActiveRecord::Migration[7.1]
def up
change_column :solid_errors, :exception_class, :text, null: false, limit: nil
change_column :solid_errors, :message, :text, null: false, limit: nil
change_column :solid_errors, :severity, :text, null: false, limit: nil
change_column :solid_errors, :source, :text, null: true, limit: nil
add_column :solid_errors, :fingerprint, :string, limit: 64
add_index :solid_errors, :fingerprint, unique: true
remove_index :solid_errors, [:exception_class, :message, :severity, :source], unique: true
end
def down
change_column :solid_errors, :exception_class, :string, null: false, limit: 200
change_column :solid_errors, :message, :string, null: false, limit: nil
change_column :solid_errors, :severity, :string, null: false, limit: 25
change_column :solid_errors, :source, :string, null: true, limit: nil
remove_index :solid_errors, [:fingerprint], unique: true
remove_column :solid_errors, :fingerprint, :string, limit: 64
add_index :solid_errors, [:exception_class, :message, :severity, :source], unique: true
end
end
Then run the migration:
rails db:migrate:{name_of_errors_database}