У меня относительно простое приложение на Rails 5 в разработке. Базы данных разработки и тестирования - это SQLite3.
Когда я запускаю db:test:prepare
или db:reset
, Rails прерывает работу и выдает исключение в 75% случаев. Верхняя часть трассировки стека показывает что-то вроде:
ActiveRecord::StatementInvalid: SQLite3::IOException: disk I/O error: CREATE TABLE "ar_internal_metadata" ("key" varchar NOT NULL PRIMARY KEY, "value" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)
Но таблица меняется - это может быть любая таблица (встроенная или нет). Заявление, на которое он жалуется, выглядит для меня справедливым (за исключением, возможно, отсутствия точки с запятой в конце).
Тогда, примерно в 25% случаев, это работает просто отлично.
Я могу запускать эти задачи несколько раз, пока он не будет работать каждый раз, когда мне нужно сбросить тестовую базу данных, но это и расстраивает, и волнует - кажется, что есть основная проблема.
Любая помощь приветствуется.