簡體   English   中英

如何將數據從生產數據庫遷移到開發數據庫(第4條)?

[英]How do I migrate data from production db to development db (Rails 4)?

我知道這聽起來有些倒退! 我一直在開發基於雲的案例管理應用程序,並且正在開發支持票證功能。 我們擁有開發數據庫(MySQL),該數據庫具有與生產數據庫(這是一個非常大的應用程序)相同的數據。 開發基本上是一個“沙盒”環境,因此開發數據庫為何與生產數據庫完全相同。 今天早上,我在本地開發服務器中遇到以下問題:

Migrations are pending; run 'bin/rake db:migrate RAILS_ENV=development' to resolve this issue.

好吧,盡管沒有任何意義,但還是做到了。 它出錯了,因為它試圖創建已經存在的表(我已經運行了遷移,功能是一天前完成的!並且一切正常。)

在我的開發服務器中收到此消息之前,我唯一要做的就是取消注釋一個完全注釋掉的文件,以嘗試解決TinyMCE的問題(/config/tinymce.yml,文本編輯器),然后重新啟動Rails開發服務器。 所有這些文件都是一堆默認值和插件。 當我看到問題時,我首先將其全部評論掉。 還是一樣的錯誤。 進行rake db:任務。

開始尋找答案..不斷出錯。 犯了一個菜鳥錯誤,最終做了

rake db:migrate:reset 

我知道這會以花費數據庫的代價來重建架構。 失敗了。但是我們確實將數據庫放在一個以上的位置(因為它與生產環境相同。)此外,只是試圖將所有表都帶回來:

rake db:schema:load

....無論如何還是在一張桌子上失敗了

ActiveRecord::StatementInvalid: Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE UNIQUE INDEX `login` USING btree ON `users` (`login`, `intranet_id`)

..並且所有表都是空的(按預期),並且已成功創建。 我絕不是數據庫專家(我還沒開發很久)。 想知道,是否有辦法將整個生產數據庫復制到開發數據庫? 表,數據及所有。 或其他建議? 真的輸了這個。

您可以使用mysql_dump

如果連接到數據庫,則一切都已存在-只需轉儲完整數據庫,然后再次轉儲到生產表中即可。

如您所見,可以使用“>”從數據庫輸出,也可以使用“ <”進行導入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM