# typed: true
# This migration creates the `versions` table, the only schema PT requires.
# All other migrations PT provides are optional.
class CreateVersions < ActiveRecord::Migration[7.0]
  def up
    create_table :versions do |t|
      t.string :item_type, null: false
      t.bigint :item_id, null: false
      t.integer :schema_version, null: false
      t.string :event, null: false
      t.jsonb :diff
      t.datetime :created_at
    end
    add_index :versions, %i[item_type item_id]
  end

  def down
    raise("boom")
  end
end
