Во-первых, извините за мой плохой английский.
У меня был проект rails 2.3.1, и я обновляю его до версии 5.2.1.В этом проекте у меня есть delayed_job, который вставляет несколько строк в таблицу базы данных.Код, который я использую для вставки:
ActiveRecord::Base.connection.execute("
INSERT INTO <Table_Name> (id, col2, col3, col4...)
VALUES ((select coalesce(max(id),0)+1 from <Same_Table_Name>), val2, val3, val4...);...")
На рельсах 2.3.1 все работало нормально, я мог без проблем выполнить 20000 вставок, но в рельсах 5.2.1, если запрос имеетболее 1500 вставок, строки вставляются в таблицу, но запрос не будет завершен, не вернется.
Если я удаляю идентификаторы и объединения из запроса, оставляя его на АвтоУвеличивается, иногда это работает, а иногда и происходит сбой из-за других вставок в проекте, которые не обновляют индекс автоинкремента.И если я выполняю запрос непосредственно из Postgres Query Tool, он работает нормально.
Я также уже пытался использовать ActiveRecord :: Base.connection.exec_query, но лимит вставок еще меньше.