Tag: rake

如何覆盖自定义数据库适配器的rake任务?

我编写了一个自定义数据库适配器,可以在rails服务器运行时正常有效地工作。 我现在想添加用于创建,删除和迁移数据库的常用rake任务定义。 我想实现: db:[drop|create|migrate] 如何使用我的gem打包这些定义,以便它们覆盖使用gem的任何人的默认定义? 我查看了其他适配器的来源,但所有rake任务逻辑似乎都被烘焙到active_record本身,每个任务只是打开适配器名称。

Rails:如何解决’rake / rdoctask”已弃用’警告?

只是预警:我是铁杆菜鸟。 当我跑: rake db:migrate 我收到了这个弃用警告: WARNING: ‘require ‘rake/rdoctask” is deprecated. Please use ‘require ‘rdoc/task’ (in RDoc 2.4.2+)’ instead. at /Users/username/Code/rails/appname/rake/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/rdoctask.rb 我正在使用: Rails 3.0.1 耙0.9.2.2 RSpec 2.0.1 RDoc 3.12 如果我卸载rake 0.9.2.2并使用0.8.7没有警告,但我宁愿不把它算作解决方案。 谷歌搜索后,许多网站说我需要更新我的Rakefile中的一行(基本上需要’rake / rdoctask’来改变需要’rdoc / task’)。 但是,我的Rakefile看起来像这样: require File.expand_path(‘../config/application’, __FILE__) require ‘rake’ AppName::Application.load_tasks 没有要求替换的声明。 当我添加require’rdoc / task’时,它没有任何效果。 当我在项目中搜索已弃用的’rake / rdoctask’时,没有结果。 为什么rails抱怨? 编辑:不确定是否重要,但这是我的gemfile: source ‘http://rubygems.org’ gem ‘rails’, […]

如何构建任务’db:populate’

1 namespace :db do 2 desc “Fill database with sample videos” 3 task :populate => :environment do 4 require ‘faker’ 5 Rake::Task[‘db:reset’].invoke 6 100.times do |n| 7 headline = Faker::Lorem.sentence(3) 8 video = Faker::Lorem.words(5) 9 Video.create!(:headline => headline, 10 :video => video) 11 end 12 end 13 end 我目前在lib / tasks / sample_data.rb中有这个rake任务 运行rake db:populate我得到错误, […]

Rake Cron工作错误

0/5 * * * * / bin / bash -l -c’cd / home / mss / ruby​​ / example && RAILS_ENV = development / usr / local / bin / bundle exec rake check_me_out –silent >> / tmp / cron_log。 log 2>&1′ 上面的cron抛出一个错误“bash:bundle:command not found …” 该命令在命令行中运行良好 任何帮助将不胜感激。

Rails 3 rake任务在生产中找不到模型

存储在lib/tasks/items_spider.rake我简单的rake任务在开发中运行得很好。 它所做的就是召唤spider! 在Item模型上。 namespace :items do desc “Spider the web for data, hoorah” task :spider => :environment do Item.spider! end end 我有:environment任务作为依赖项,所以一切正常。 但是,当我添加RAILS_ENV=production ,我在本地服务器和生产服务器上都遇到了错误: $ rake items:spider RAILS_ENV=production –trace (in /home/matchu/Websites/my-rails-app) ** Invoke items:spider (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute items:spider rake aborted! uninitialized constant Object::Item /home/matchu/.rvm/gems/ruby-1.9.2-preview3@rails3/gems/rake-0.8.7/lib/rake.rb:2503:in `const_missing’ /home/matchu/.rvm/gems/ruby-1.9.2-preview3@rails3/gems/rspec-core-2.0.0.beta.22/lib/rspec/core/backward_compatibility.rb:20:in `const_missing’ /home/matchu/.rvm/gems/ruby-1.9.2-preview3@rails3/gems/rspec-expectations-2.0.0.beta.22/lib/rspec/expectations/backward_compatibility.rb:6:in […]

如何在不先删除数据库的情况下将带有rails的数据库迁移到第一个修订版?

我为我的Rails安装设置了一个数据库,并设置了一些迁移。 我希望能够将我的数据库重置为没有表/约束/等等,但是在不知道迁移次数或第一次迁移的时间戳的情况下找不到合理的方法。 我看到以下是我的选择: rake db:migrate:reset rake db:migrate:down VERSION=20090701154839其中20090701154839是与第一次迁移相关的时间戳 rake db:rollback STEP=15 ,其中有15次迁移 db:migrate:reset的问题在于它首先丢弃数据库(它执行db:drop , db:create ,然后db:migrate )。 db:migrate:down是我不想编码开头的VERSION。 db:rollback的问题在于我不知道它回到开头的步骤数。 我有什么选择?

Rails rake db:migrate没有任何影响

我今天制作了一个新的Rails 3应用程序,添加了一个简单的迁移,并且出于某种原因,当我执行rake db:migrate时没有任何反应。 它只是暂停几秒钟,然后返回到命令提示符,没有任何错误或任何错误。 Schema.rb和数据库保持空白。 有什么想法可能会发生什么? 我做了很多应用程序,从来没有遇到过这个问题。 一切都是完全标准的设置。

未初始化的常量MysqlCompat :: MysqlRes(使用mms2r gem)

将我的rails应用程序移动到新服务器上,并且必须安装一些gem依赖项。 但是,安装mysql gem之后,每当我尝试运行涉及mysql数据库的rake命令时,我都会得到错误,未初始化的常量MysqlCompat :: MysqlRes。 当我需要mms2r gem时,我似乎只得到这个错误。 有没有人听说过这个? 我正在运行mysql 2.8.1 gem。

脚手架后无法迁移数据库。 2.2节Ruby on Rails教程Michael Hartl

我正在研究Hartl ruby​​ on rails教程(第2.2节),我在迁移数据库时遇到了麻烦。 一切似乎都在工作,然后我运行rails generate scaffold User name:string email:string后来我试图运行bundle exec rake db:migrate并得到以下错误信息: $ bundle exec rake db:migrate == 20141125234257 CreateUsers: migrating ====================================== — create_table(:users) -> 0.0079s == 20141125234257 CreateUsers: migrated (0.0080s) ============================= rake aborted! StandardError: An error has occurred, this and all later migrations canceled: wrong number of arguments (1 for 0)/usr/local/rvm/gems/ruby-2.1.4@rails4/gems/activerecord-4.2.0.beta4/lib/active_record/connection_adapters/abstract_adapter.rb:271:in `initialize’ /usr/local/rvm/gems/ruby-2.1.4@rails4/gems/activerecord-4.2.0.beta4/lib/active_record/connection_adapters/abstract_adapter.rb:271:in […]

无法找到gem’铁轨’的头痛

我在Mac OS X 10.6 Snow Leopard上。 我刚刚更新了我的Ruby东西: sudo gem update 不幸的是,它打破了一切。 当我尝试在我的网站目录中运行一个简单的命令时,例如: rails generate model User 它失败了,出现了这个错误: 无法在Gemfile中列出的任何gem源中找到gem’rail(= 3.0.3,runtime)’。 尝试运行bundle install 。 所以我尝试运行bundle install rails 。 它成功了! 所以我试着运行rails 。 它失败了。 所以我尝试输入以下命令获取Rails版本: rails -v 哪个失败了这个错误: 在任何来源中都找不到rake-0.8.7 尝试运行bundle install 。 但它不仅失败了,它还在我的网站目录中创建了一个空文件夹rails/ruby/1.8 。 这对我来说是一场彻底的灾难,因为我只是Ruby和Ruby on Rails的初学者,甚至是终端。 任何帮助将非常感激。 谢谢。