RoR - MySQL - 编写一个 rake 任务以继承另一个 sql 文件
RoR - MySQL - Writing a rake task to inherit from another sql file
我从终端使用以下命令:
mysql -u root -p sample_development < sample.sql
有没有一种简单的方法可以让我在 rake 任务中包含这个命令?我找到了一些旧的答案,Is there a rake task for backing up the data in your database?,其中包括大约 30 行代码,但是有没有更简单的方法将这个 liner 转换为 rake 任务?
提前致谢。
Ruby 中有一些 different ways 到 运行 命令行指令。一个非常简单的解决方案可能如下所示(注意反引号):
task :import do
# some code
`mysql -u root -p sample_development < sample.sql`
# more code
end
您要求的是 rake 任务,但 link 指的是 capistrano 任务。
我猜你想 运行 在本地导入,所以 rake 任务是正确的选择。
Rake 任务写在 Ruby 中。
您可以使用以下命令在 ruby 中嵌入任何 shell 命令:
rake 任务可能是这样的:
# lib/tasks/db.rake
namespace :db do
task import: :environment do
`mysql -u root -p sample_development < sample.sql`
end
end
像这样使用它:
$ rake db:import
我从终端使用以下命令:
mysql -u root -p sample_development < sample.sql
有没有一种简单的方法可以让我在 rake 任务中包含这个命令?我找到了一些旧的答案,Is there a rake task for backing up the data in your database?,其中包括大约 30 行代码,但是有没有更简单的方法将这个 liner 转换为 rake 任务?
提前致谢。
Ruby 中有一些 different ways 到 运行 命令行指令。一个非常简单的解决方案可能如下所示(注意反引号):
task :import do
# some code
`mysql -u root -p sample_development < sample.sql`
# more code
end
您要求的是 rake 任务,但 link 指的是 capistrano 任务。 我猜你想 运行 在本地导入,所以 rake 任务是正确的选择。
Rake 任务写在 Ruby 中。 您可以使用以下命令在 ruby 中嵌入任何 shell 命令:
rake 任务可能是这样的:
# lib/tasks/db.rake
namespace :db do
task import: :environment do
`mysql -u root -p sample_development < sample.sql`
end
end
像这样使用它:
$ rake db:import