class <%= create_migration_class_name(model_table_name) %> < ActiveRecord::Migration<%= migration_version %>
def change
create_table :<%= model_table_name %> do |t|
t.string :model_id, null: false
t.string :name, null: false
t.string :provider, null: false
t.string :family
t.datetime :model_created_at
t.integer :context_window
t.integer :max_output_tokens
t.date :knowledge_cutoff
<% if postgresql? %>
t.jsonb :modalities, default: {} t.jsonb :capabilities, default: [] t.jsonb :pricing, default: {} t.jsonb :metadata, default: {}
<% elsif mysql? %>
t.json :modalities t.json :capabilities t.json :pricing t.json :metadata
<% else %>
t.json :modalities, default: {} t.json :capabilities, default: [] t.json :pricing, default: {} t.json :metadata, default: {}
<% end %>
t.timestamps t.index [ :provider, :model_id ], unique: true t.index :provider t.index :family
<% if postgresql? -%>
t.index :capabilities, using: :gin t.index :modalities, using: :gin
<% end -%>
end end
end