我有一個新的Rails應用程序將從現有數據庫(由另一個ruby應用程序創建)消耗。 要做到這一點,我創建了一個已經存在的數據庫表的模型,但現在軌給我,我要運行Rake db:針對現有數據庫遷移
rake db:migration
但是,如果我嘗試這樣做,我得到一個錯誤,因爲錯誤信息表已經存在。
有沒有辦法執行遷移並忽略現有表?該表是正確的,應該在那裏,並填充了用於其他應用程序的數據。我想讓這個應用程序消費這些信息。
感謝
編輯: 的DB設置就可以了,因爲我是能夠執行DB:之前遷移。我創建使用
rails g model fundo
(豐杜的是模型的名稱和fundoS是表的名稱) 該模型沒有財產還,但該表中的列
編輯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