Questions tagged «rake»

Ruby构建实用程序,类似于纯Ruby中定义的构建命令。


5
rake db:migrate db:reset和db:schema:load之间的区别
rake db:migrate和之间的区别rake db:reset在我脑海中非常明显。我不明白的是rake db:schema:load与前两个有何不同。 只是为了确保我在同一页面上: rake db:migrate -运行尚未运行的迁移。 rake db:reset-清除数据库(大概做了rake db:drop+ rake db:create+ rake db:migrate)新鲜的数据库和运行迁移。 如果我的理解有误,请帮助澄清。


22
Rails DB迁移-如何删除表?
我添加了一个我认为自己需要的表,但现在不再计划使用它。我应该如何删除那张桌子? 我已经运行了迁移,因此该表位于数据库中。我认为rails generate migration应该可以解决这个问题,但是我还没有弄清楚该怎么做。 我试过了: rails generate migration drop_tablename 但这只是一个空的迁移。 在Rails中删除表的“官方”方法是什么?

7
如何从Rake任务中运行Rake任务?
我有一个Rakefile,它根据全局变量$build_type可以两种方式编译项目,可以是:debug或:release(结果放在单独的目录中): task :build => [:some_other_tasks] do end 我希望创建一个任务,依次使用两种配置来编译项目,如下所示: task :build_all do [ :debug, :release ].each do |t| $build_type = t # call task :build with all the tasks it depends on (?) end end 有没有办法像调用方法一样调用任务?还是我可以实现类似的目标?
410 ruby  rake 

7
Bundle exec rake是什么意思?
什么bundle exec rake db:migrate意思 还是bundle exec rake <command>一般而言? 我了解这有助于bundle维护Gemfile中的内容。我知道“ exec”一词的含义。我知道这rake保留了您可以执行的所有不同脚本操作,并且我知道这db:migrate就是其中之一。我只是不知道所有这些词在一起是做什么的。为什么要bundle使用执行rake来执行数据库迁移?


6
Rails Rake任务是否提供对ActiveRecord模型的访问?
我正在尝试创建一个自定义的rake任务,但似乎我无权访问我的模型。我认为这是Rails任务中隐含的内容。 我在lib / tasks / test.rake中有以下代码: namespace :test do task :new_task do puts Parent.all.inspect end end 这是我的父模型的样子: class Parent < ActiveRecord::Base has_many :children end 这是一个非常简单的示例,但是出现以下错误: /> rake test:new_task (in /Users/arash/Documents/dev/soft_deletes) rake aborted! uninitialized constant Parent (See full trace by running task with --trace) 有任何想法吗?谢谢

7
如何从抽佣任务中早日返回?
我有一个rake任务,在开始时要进行一些检查,如果其中一项检查失败,我想从rake任务中早返回,则我不想执行任何剩余的代码。 我认为解决方案是将返回值放到我想从代码中返回的位置,但是出现以下错误 unexpected return
226 ruby  rake 

5
如何使用rake db:migrate回滚仅一步
在文件db/migrate夹中添加迁移文件并运行后rake db:migrate,我想回到上一步,我认为使用VERSION=n是执行此操作的正确方法,但是我不知道要使用的n的正确值。是否有任何命令来检查当前的n值? 如果任何人都可以提供完整的使用说明,那将是很好的rake db:migrate。

19
Ruby on Rails和Rake问题:未初始化的常量Rake :: DSL
我有一个非常令人沮丧的问题:Rake愚蠢。 问题出在这里: $ rails new test_app $ rails generate scaffold new_scaffold field1:string field2:text 两者都很好,但是当我这样做时, $ rake db:migrate 我收到以下错误。 (in /home/mikhail/test_app) rake aborted! uninitialized constant Rake::DSL /usr/lib/ruby/1.9.1/rake.rb:2482:in `const_missing' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:8:in `<class:TaskLib>' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:6:in `<module:Rake>' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:3:in `<top (required)>' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/rdoctask.rb:20:in `require' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/rdoctask.rb:20:in `<top (required)>' /usr/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks/documentation.rake:1:in `require' /usr/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks/documentation.rake:1:in `<top (required)>' /usr/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks.rb:15:in `load' /usr/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks.rb:15:in `block in <top …

7
为什么Ruby 1.9.2删除“。” 从LOAD_PATH,还有什么选择?
Ruby 1.9.2的最新变更集不再使当前目录.成为您的的一部分LOAD_PATH。我有大量的Rakefiles假定.是Rakefile的一部分LOAD_PATH,所以这使它们中断了(它们报告说,所有基于项目路径的require语句都“没有要加载的文件”)。是否有这样做的特殊理由? 至于修复,$: << "."在任何地方添加都可以,但是似乎难以置信,我不想这样做。使我的Rakefiles 1.9.2+兼容的首选方法是什么?
154 ruby  rake  require  load-path 

8
使用Rake 0.9.0的未定义方法“任务”
我刚刚将Rake更新到最新版本(0.9.0.beta.4),该rake命令最终显示以下错误消息: rake aborted! undefined method `task' for #<Anelis::Application:0x9223b6c> 这是跟踪: undefined method `task' for #<Anelis::Application:0x97ef80c> /usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:214:in `initialize_tasks' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:139:in `load_tasks' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing' /home/amokrane/Documents/prog/web/learning_rails/anelis/Rakefile:7:in `load_string' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:28:in `eval' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:28:in `load_string' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:16:in `load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:495:in `raw_load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:78:in `block in load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:129:in `standard_exception_handling' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:77:in `load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:61:in `block in run' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:129:in `standard_exception_handling' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:59:in `run' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/bin/rake:31:in `<top (required)>' /usr/local/rvm/gems/ruby-1.9.2-p136/bin/rake:19:in …


5
NoMethodError:升级到Rake 11后未定义的方法“ last_comment”
运行任何rake任务时,我得到: NoMethodError:未定义的方法“ last_comment” 之后bundle update,引入了新版本的rake版本11.0.1。 $ grep rake Gemfile.lock rake rake (>= 0.8.7) rake (11.0.1) rake $ bundle update $ bundle exec rake db:drop # any rake task NoMethodError:#<Rake :: Application:0x007ff0cf37be38>的未定义方法`last_comment' 版本号 导轨3.2.11 耙11.0.1

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.