populate account_id

pull/349/head
Pete Matsyburka 1 year ago
parent d63f62109b
commit b8828b503c

@ -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

@ -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"

Loading…
Cancel
Save