最近,我学习了开发rails应用程序。 现在,我有一个问题。我想换成生产模式。但我不想手动在开发数据库中复制我的数据。 我该怎么办? 我使用mysql和Mac os和rails 3 beta。 TKS。
答案 0 :(得分:6)
以下是在mysql中转储/加载DB的基本命令:
转储数据库:
$ mysqldump your_dev_db_name > your_db_dump.sql
加载转储:
$ mysql your_production_db_name < your_db_dump.sql
答案 1 :(得分:0)
如果您使用Capistrano进行部署,则还可以通过红宝石capistrano-db-tasks gem完成此操作。
很显然,知道如何通过基本的mysqldump命令来完成工作绝对是一件很棒的事,但是从我个人的角度来看,一旦学会了这一点,使用gem的工作流程就会变得更好。有了gem,您就可以为所有环境快速推送和提取数据,下面列出了更多其他优点。默认情况下,我将其添加到每个Rails应用程序中,因为我不断将产品数据下拉到本地。
优势
这允许您在终端中为不同环境运行用于推/拉的命令:
cap production db:pull
cap production db:push # probably less common not something I would recommend
cap staging db:pull
cap staging db:push
我创建了YouTube video demonstrating this gem and its advantages,认为如果您想了解更多有关使用该宝石的信息,可能会有所帮助。