53 lines
1.3 KiB
Ruby
53 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
ActiveRecord::Schema.define do
|
|
create_table :vector_models, force: true do |t|
|
|
t.string :name
|
|
t.string :value
|
|
t.tsvector :search_cache
|
|
t.timestamps null: false
|
|
end
|
|
add_index :vector_models, :search_cache, using: :gin
|
|
|
|
create_table :vector_with_custom_primary_key_models, id: false, force: true do |t|
|
|
t.uuid :uuid, null: false
|
|
t.string :name
|
|
t.string :value
|
|
t.tsvector :search_vector
|
|
t.timestamps null: false
|
|
end
|
|
add_index :vector_with_custom_primary_key_models, :uuid, using: :btree
|
|
add_index :vector_with_custom_primary_key_models, :search_vector, using: :gin
|
|
|
|
create_table :dynamic_models, force: true do |t|
|
|
t.string :name
|
|
t.string :value
|
|
t.timestamps null: false
|
|
end
|
|
|
|
create_table :tags, force: true do |t|
|
|
t.string :value
|
|
t.references :category, index: true
|
|
t.references :taggable, polymorphic: true, index: true
|
|
t.timestamps null: false
|
|
end
|
|
|
|
create_table :categories, force: true do |t|
|
|
t.string :name
|
|
t.timestamps null: false
|
|
end
|
|
|
|
create_table :sections, force: true do |t|
|
|
t.references :tag
|
|
t.string :name
|
|
t.timestamps null: false
|
|
end
|
|
|
|
create_table :players, force: true do |t|
|
|
t.references :tag
|
|
t.string :name
|
|
t.string :value
|
|
t.string :device_id
|
|
end
|
|
end
|