Skip to content

Commit 570b6bc

Browse files
authored
Migrate and uplink registration ID to bigint (#13963)
1 parent 204371c commit 570b6bc

2 files changed

Lines changed: 29 additions & 3 deletions

File tree

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# frozen_string_literal: true
2+
3+
class AddForeignKeyFromRceToRegistrations < ActiveRecord::Migration[8.1]
4+
def change
5+
reversible do |dir|
6+
dir.up do
7+
execute "DELETE FROM registration_competition_events WHERE registration_id NOT IN (SELECT id FROM registrations)"
8+
9+
change_column :registrations, :id, :bigint
10+
11+
change_column :registration_payments, :registration_id, :bigint
12+
change_column :registration_competition_events, :registration_id, :bigint
13+
end
14+
15+
dir.down do
16+
change_column :registration_competition_events, :registration_id, :integer
17+
change_column :registration_payments, :registration_id, :integer
18+
19+
change_column :registrations, :id, :integer, unsigned: true
20+
end
21+
end
22+
23+
add_foreign_key :registration_competition_events, :registrations, on_delete: :cascade
24+
end
25+
end

db/schema.rb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1099,7 +1099,7 @@
10991099

11001100
create_table "registration_competition_events", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", force: :cascade do |t|
11011101
t.bigint "competition_event_id"
1102-
t.integer "registration_id"
1102+
t.bigint "registration_id"
11031103
t.index ["competition_event_id"], name: "index_registration_competition_events_on_competition_event_id"
11041104
t.index ["registration_id", "competition_event_id"], name: "idx_registration_competition_events_on_reg_id_and_comp_event_id", unique: true
11051105
t.index ["registration_id"], name: "index_registration_competition_events_on_registration_id"
@@ -1133,7 +1133,7 @@
11331133
t.bigint "receipt_id"
11341134
t.string "receipt_type"
11351135
t.integer "refunded_registration_payment_id"
1136-
t.integer "registration_id"
1136+
t.bigint "registration_id"
11371137
t.string "stripe_charge_id"
11381138
t.datetime "updated_at", precision: nil, null: false
11391139
t.integer "user_id"
@@ -1143,7 +1143,7 @@
11431143
t.index ["stripe_charge_id"], name: "index_registration_payments_on_stripe_charge_id"
11441144
end
11451145

1146-
create_table "registrations", id: { type: :integer, unsigned: true }, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", force: :cascade do |t|
1146+
create_table "registrations", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", force: :cascade do |t|
11471147
t.datetime "accepted_at", precision: nil
11481148
t.integer "accepted_by"
11491149
t.text "administrative_notes"
@@ -1675,6 +1675,7 @@
16751675
add_foreign_key "potential_duplicate_persons", "users", column: "original_user_id"
16761676
add_foreign_key "regional_records_lookup", "results", on_update: :cascade, on_delete: :cascade
16771677
add_foreign_key "registration_competition_events", "competition_events", on_delete: :cascade
1678+
add_foreign_key "registration_competition_events", "registrations", on_delete: :cascade
16781679
add_foreign_key "registration_history_changes", "registration_history_entries"
16791680
add_foreign_key "result_attempts", "results", on_delete: :cascade
16801681
add_foreign_key "results", "rounds"

0 commit comments

Comments
 (0)