populate account_id
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
# values :text not null
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
# account_id :bigint
|
||||
# account_id :bigint not null
|
||||
# external_id :string
|
||||
# submission_id :bigint not null
|
||||
#
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class PopulateSubmitterAccountId < ActiveRecord::Migration[7.1]
|
||||
disable_ddl_transaction
|
||||
|
||||
class MigrationSubmitter < ApplicationRecord
|
||||
self.table_name = 'submitters'
|
||||
belongs_to :submission, class_name: 'MigrationSubmission'
|
||||
end
|
||||
|
||||
class MigrationSubmission < ApplicationRecord
|
||||
self.table_name = 'submissions'
|
||||
end
|
||||
|
||||
def up
|
||||
MigrationSubmitter.where(account_id: nil).preload(:submission).find_each do |submitter|
|
||||
submitter.update_columns(account_id: submitter.submission.account_id)
|
||||
end
|
||||
|
||||
if MigrationSubmitter.exists?(account_id: nil)
|
||||
MigrationSubmitter.where(account_id: nil).preload(:submission).find_each do |submitter|
|
||||
submitter.update_columns(account_id: submitter.submission.account_id)
|
||||
end
|
||||
end
|
||||
|
||||
change_column_null :submitters, :account_id, false
|
||||
end
|
||||
|
||||
def down
|
||||
nil
|
||||
end
|
||||
end
|
||||
+2
-2
@@ -10,7 +10,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[7.1].define(version: 2024_08_16_064633) do
|
||||
ActiveRecord::Schema[7.1].define(version: 2024_08_16_072859) do
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
||||
@@ -243,7 +243,7 @@ ActiveRecord::Schema[7.1].define(version: 2024_08_16_064633) do
|
||||
t.string "external_id"
|
||||
t.text "preferences", null: false
|
||||
t.text "metadata", null: false
|
||||
t.bigint "account_id"
|
||||
t.bigint "account_id", null: false
|
||||
t.index ["account_id", "id"], name: "index_submitters_on_account_id_and_id"
|
||||
t.index ["email"], name: "index_submitters_on_email"
|
||||
t.index ["external_id"], name: "index_submitters_on_external_id"
|
||||
|
||||
Reference in New Issue
Block a user