Недавно я обновил свое приложение до Rails 4 (от Rails 3.2).Rails 4 проблема с таблицами базы данных mysql после обновления с Rails 3.2
Но кажется, что приложение больше не находит некоторые таблицы mysql, например таблицу с именем Accidents
.
В приложении я нахожу эту ошибку:
Mysql2::Error: Table 'gms.accidents' doesn't exist: SHOW FULL FIELDS FROM `accidents`
Хорошо, это, кажется, что таблица не существует больше, то (видно, что в режиме разработчика и нет никаких проблем, чтобы сбросить DB) , я бегу в терминале rake db:schema:load
, но:
-- create_table("accidents", {:force=>true})
rake aborted!
Mysql2::Error: Tablespace for table '`gms`.`accidents`' exists. Please DISCARD the tablespace before IMPORT.: CREATE TABLE `accidents`
[...]
Что случилось? Таблица не существует, но существует?
Почему приложение не находит больше таблиц?
3 Предложения: 1. Проверьте свой конфиг/database.yml и убедитесь, что он имеет правильную информацию о подключении. 2. Изучите данные в инструменте или подсказке mysql и проверьте там вещи. 3. Скажите, какие таблицы работают? –
спасибо @MichaelDurrant за предложения. В синтезе: 1. нормально; 2. с помощью средства mysql таблица не существует (не знаю почему); 3 ...; Я удалил вручную базу данных (с rake db: drop не работает ...), а затем заново создайте другую. Теперь кажется, что работа, но странно, что происходит. – damoiser
ОК, тогда я отправлю это как ответ, я тоже это сделал. –