我使用终端的以下命令:
mysql -u root -p sample_development < sample.sql
在耙子任务中,我有一种简单的方法吗?我找到了一些旧的答案,是否有一个用于备份数据库中数据的耙子任务?,其中包括大约30行代码,但是有一种更简单的方法可以将此衬里转换为Rake任务吗?
预先感谢。
有几种不同的方法可以从Ruby运行命令行指令。一个非常简单的解决方案可能看起来像这样(请注意Backticks(:
task :import do
# some code
`mysql -u root -p sample_development < sample.sql`
# more code
end
您正在要求进行耙式任务,但是链接将capistrano任务转换为capistrano任务。我猜您想在本地运行您的导入,因此耙子任务是要走的路。
耙子任务是用ruby编写的。您可以通过使用:
嵌入Ruby中的任何壳命令-
system
方法 - Backticks
-
%x
定界符
这就是耙子任务的外观:
# lib/tasks/db.rake
namespace :db do
task import: :environment do
`mysql -u root -p sample_development < sample.sql`
end
end
使用它:
$ rake db:import