2016-04-07 59 views
0

對於Rails項目,如果您獲得了數據庫轉儲,那麼該如何工作?加載數據庫啞變量並運行所有遷移

  1. 我運行所有的遷移,然後加載數據庫轉儲。
  2. 我只加載數據庫轉儲。

在第2點,如果我只加載數據庫轉儲和I,然後添加一個新的遷移到我的項目。那麼,運行rake db:migrate將僅運行新的遷移,因爲舊的遷移已通過加載數據庫轉儲運行。

或者,加載數據庫轉儲與運行遷移無關。如果您運行的是rake db:migrate,遷移只會標記爲以上

注意:數據庫啞巴不是Rails模式,它是由MySQL生成的,它包含了開發者的所有數據。

+0

我只是想高興這個問題,突然間,我看到了我的名字;感到自豪,並感到有點恥辱。 –

回答

1

我會先加載數據庫轉儲,因爲它還包含您所有的數據和當前的模式結構。

運行耙分貝:遷移將只運行新的遷移

這要看情況。如果您的數據庫轉儲具有schema_migrations表,該表列出所有以前應用的遷移,則不會應用遷移。否則,它會嘗試並失敗。

你基本上需要下列步驟操作:

  1. 導入轉儲
  2. 創建Rails架構(耙分貝:模式:轉儲)
  3. 如果你有新的遷移,運行它們
+0

我有一個10 GB的啞文件,現在我無法知道該文件是否包含'schema_migrations'表。文件太大而無法讀取。任何解決方案? –

+0

如果你從Rails應用程序獲得它,那麼很可能會有一個應用程序(除非用戶希望他們的生活複雜並且不想使用數據庫遷移)。如果沒有,不要打擾搜索,它不在那裏:)。 – born4new