如何在irb上运行rake db:migrate

时间:2017-11-03 19:21:03

标签: ruby ruby-on-rails-4

我正在尝试在irb上运行迁移脚本,但它会返回语法错误。

irb(main):008:0> rake db:migrate:up VERSION=20171006190045
SyntaxError: (irb):8: syntax error, unexpected tLABEL
rake db:migrate:up VERSION=20171006190045

尝试rake db:migrate:redo VERSION=20171006190045

也尝试了这个

irb(main):012:0> require 'db/migrate/20171006190045_update_details.rb'
LoadError: cannot load such file -- db/migrate/20171006190045_update_details.rb
    from (irb):12

4 个答案:

答案 0 :(得分:2)

rake并不意味着在IRB中运行。我同意@spickermann。您可以使用system命令在rails控制台中运行它。

$ rails c
> system("rake db:migrate:up VERSION=20171006190045")

或只是在终端

$ rake db:migrate:up VERSION=20171006190045

答案 1 :(得分:1)

rake并不意味着在IRB中运行。这是一个像IRB这样的命令行程序。只需退出IRB并在终端中运行它。

答案 2 :(得分:1)

irb未对rake做出回应。像这样退出irb

irb(main):008:0> exit

然后只需运行你的rake命令:

rake db:migrate:up VERSION=20171006190045

答案 3 :(得分:0)

不,没有必要使用系统命令运行它。

Rails.application.load_tasks
Rake::Task['my_task'].invoke