Rails rake任务将实时(MySQL)数据库加载到本地开发数据库

noo*_*odl 5 mysql rake ruby-on-rails

多年来,我一直使用mysqldump现场服务器上的ssh管道到mysql我的开发机器上获取当前数据的副本.

ssh -C <server> mysqldump --opt <live_database_name> |mysql <local_dev_database_name>
Run Code Online (Sandbox Code Playgroud)

在哪里-C启用ssh压缩并--opt实现快速和完整性.

有人有一个rails-ish等效的rake任务吗?理想情况下,它需要从config/database.yml获取数据库名称

Ada*_*bel 4

https://gist.github.com/750129

这不是一个优雅的解决方案。它基本上是旧方法的包装器,因此它甚至与其他数据库驱动程序不兼容。

但您可以将其放入 SCM 的 lib/tasks 下,以便与团队中的其他开发人员共享。它还使用现有 config/database.yml 文件中的配置数据。您只需向该文件添加另一个分支即可定义实时数据库,它使用与 Rails 相同的键名。

也许重用生产数据库配置甚至是有意义的。