У меня есть новое приложение для рельсов, которое потребляет из существующей БД (созданной другим рубиновым приложением). Для этого я создал модель для уже существующей таблицы базы данных, но теперь рельсы дает мне сообщение об ошибке, что я должен запуститьRake db: переход на существующую базу данных
rake db:migration
Но если я пытаюсь сделать так, я получаю ошибку, потому что таблица уже существует.
Есть ли способ выполнить миграцию и игнорировать существующие таблицы? Таблица правильная, должна быть там и заполнена данными, поступающими для другого приложения. Я хотел бы, чтобы это приложение использовало информацию.
Благодаря
Edit: Настройки БД отлично, потому что я был в состоянии выполнять ДБ: миграции прежде. Я создал модель, используя
rails g model fundo
(Fundo этого названия модели и Fundos этого имя таблицы) модели не имеет свойства еще, но таблица имеет столбцы
Edit 2: Это выход, если я запускаю с --trace
$ rake db:schema:dump --trace
** Invoke db:schema:dump (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config ** Execute db:schema:dump
$ rake db:migrate --trace
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:migrate == CreateFundos: migrating ===================================================
-- create_table(:fundos) rake aborted! An error has occurred, this and all later migrations canceled: PG::DuplicateTable: ERROR: relation "fundos" already exists CREATE TABLE "fundos" ("id" serial primary key, "created_at" timestamp, "updated_at" timestamp)
Кажется, что рельсы пытаются воссоздать таблицы. Но я просто хочу, чтобы они синхронизировались, потому что таблица уже есть!
Можете ли вы подтвердить правильность конфигурации базы данных и что существующее имя таблицы соответствует стандарту Rails для вновь созданной модели? – vee
@vee обновил вопрос;) – JSBach