Add contestant categories to contests
All checks were successful
CI / scan_ruby (push) Successful in 1m4s
CI / scan_js (push) Successful in 3m20s
CI / lint (push) Successful in 15s
CI / test (push) Successful in 2m7s

This commit is contained in:
sto
2025-07-14 14:54:55 +02:00
parent ee476ab81b
commit 502649620b
12 changed files with 204 additions and 3 deletions

View File

@@ -0,0 +1,15 @@
class CreateCategories < ActiveRecord::Migration[8.0]
def change
create_table :categories do |t|
t.string :name
t.belongs_to :contest, null: false, foreign_key: true
t.timestamps
end
create_join_table :categories, :contestants do |t|
t.index :category_id
t.index :contestant_id
end
end
end

18
db/schema.rb generated
View File

@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[8.0].define(version: 2025_06_27_070407) do
ActiveRecord::Schema[8.0].define(version: 2025_07_14_115208) do
create_table "active_storage_attachments", force: :cascade do |t|
t.string "name", null: false
t.string "record_type", null: false
@@ -39,6 +39,21 @@ ActiveRecord::Schema[8.0].define(version: 2025_06_27_070407) do
t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true
end
create_table "categories", force: :cascade do |t|
t.string "name"
t.integer "contest_id", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["contest_id"], name: "index_categories_on_contest_id"
end
create_table "categories_contestants", id: false, force: :cascade do |t|
t.integer "category_id", null: false
t.integer "contestant_id", null: false
t.index ["category_id"], name: "index_categories_contestants_on_category_id"
t.index ["contestant_id"], name: "index_categories_contestants_on_contestant_id"
end
create_table "completions", force: :cascade do |t|
t.integer "time_seconds"
t.integer "contestant_id", null: false
@@ -141,6 +156,7 @@ ActiveRecord::Schema[8.0].define(version: 2025_06_27_070407) do
add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id"
add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id"
add_foreign_key "categories", "contests"
add_foreign_key "completions", "contestants"
add_foreign_key "completions", "contests"
add_foreign_key "completions", "messages"