Я только что столкнулся с проблемой, которую не могу решить.
У меня есть таблица базы данных project_queues
, которая используется в качестве очереди, где я храню некоторые записи. Когда записи обрабатываются, они удаляются.
Удаление вызывается конструкцией рельсов record.destroy
в цикле, который запускает DELETE record FROM table
в базе данных MySql.
Но теперь я заметил, что в таблице project_queues
автоинкремент Id (первичный ключ) был установлен обратно в 1 . (Это повредило мои ссылки в таблице аудита. Одна и та же запись теперь указывает на несколько разных очередей проекта)
show create table project_queues;
CREATE TABLE `project_queues` (
`id` int(11) NOT NULL AUTO_INCREMENT,
...
...
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=1
Я не использую TRUNCATE project_queues
, не удаляю конструкцию таблицы и не создаю ее снова в коде.
Кто-нибудь сталкивался с подобной проблемой, как я? Я не могу найти никаких аномалий в журнале.
Я использую Rails 5.2.3 , MariaDB 10.1 .
Соединение между приложением и базой данных обеспечивает следующие режимы SQL:
- NO_AUTO_VALUE_ON_ZERO
- STRICT_ALL_TABLES
- NO_AUTO_CREATE_USER
- NO_ENGINE_SUBSTITUTION
- NO_ZERO_DATE
- NO_ZERO_IN_DATE
- ERROR_FOR_DIVISION_BY_ZERO
Но я не думаю, что это как-то связано с ИИ.