Rails - создание таблицы и вставка данных в один файл миграции
У меня есть миграция в проект Rails 6.1 следующим образом:
create_table "items", id: false do |t|
t.string "serial_no", limit: 20, first: true, null: false, index: {unique: true}
t.float "price", null: false
t.integer "company_id", limit: 2, null: false
t.integer "product_id", null: false
end
cols = # whatever
values = # whatever
ActiveRecord::Base.connection.execute("INSERT INTO items (#{cols}) VALUES #{values};")
Я получаю сообщение об ошибке:
PG::UndefinedTable: ERROR: relation "items" does not exist
Я знаю, что если я разделю их на два файла, они будут работать, но я хочу, чтобы эти вставки были в одном файле миграции.
Я старался
ActiveRecord::Base.connection.commit_db_transaction
перед оператором вставки он работал, но затем поднял
ERROR: duplicate key value violates unique constraint "schema_migrations_pkey"
при сохранении миграционной записи.
Есть идеи, как это сделать в одном файле миграции?