Я обновил приложение Rails 4.x до версии 5.2.1.Обновление прошло хорошо, и приложение работает хорошо.Однако теперь я запускаю rails active_storage: install, который создает миграцию для создания таблиц для ActiveStorage.
Миграция создана нормально и выглядит хорошо.Однако при запуске rails db: migrate я получаю:
Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'string NOT NULL, `filename` string NOT NULL, `content_type` string, `metadata` t' at line 1: CREATE TABLE `active_storage_blobs` (`id` integer NOT NULL AUTO_INCREMENT PRIMARY KEY, `key` string NOT NULL, `filename` string NOT NULL, `content_type` string, `metadata` text, `byte_size` bigint NOT NULL, `checksum` string NOT NULL, `created_at` datetime NOT NULL, UNIQUE INDEX `index_active_storage_blobs_on_key` (`key`)) ENGINE=InnoDB
Так что, очевидно, он переводит t.string в "CREATE TABLE (name string) <-" string ", а не varchar или что-то в этом роде.Почему это так? </p>
Когда я вручную запускаю этот CREATE TABLE с varchars вместо 'string', таблица создается нормально.