Tag:

“rake db:seed”和rake db:fixtures:load“之间的区别是什么?

我是Ruby和Rails的新手,对某些事情感到好奇。 在两个不同的教程中,我看到他们使用不同的方法来填充具有基本测试信息的数据库。 一个使用“rake db:seed”从包含样本数据的文本文件中提取。 另一个使用“rake db:fixtures:load”。 对我来说,他们看起来完全一样。 他们,或者我在这里遗失了什么? (极有可能)

rake db:migrate究竟是什么做的?

rake db:migrate是否仅添加新迁移,还是删除所有迁移/更改并构建新内容? 我认为rake会抛出错误,因为它试图访问迁移040中删除的迁移040中的表属性。不知怎的,我的DB和rake不同步,我想修复它们。 对于那里的专家 – rake与迁移不同步是否常见? 我怎么能避免这种情况(不,我不会手工编辑我的架构或rake文件)。

为什么Rails db:migrate在Rails中没有向模式文件中添加函数?

我最近通过迁移向我的数据库添加了一些SQL函数,它们工作得很好。 代码工作,数据库工作,测试没有。 schema.rb文件告诉我它是最新版本(并且它是正确的),但它只包含表和索引的定义,而不是我添加的函数。 我在迁移中通过“execute()”方法添加了这些函数,并且需要在测试数据库中将它们传递给RSpec测试(公司策略规定在修复之前我不能提交此更改)。 有谁知道为什么会这样,或者如何解决它? 我可以手动进入MySQL命令行并添加函数,但是下次有人执行db:test:prepare时它们会被删除。 我需要一个可以自动化的解决方案。 感谢您的帮助和回复, -Mike Trpcic

Rails – 使用开发数据填充测试数据库

有没有什么简单的方法可以将developmenet数据库中的数据复制到测试数据库中? 我知道这是一种复制模式和重新创建数据库的方法,但有没有任何rake任务用开发一个填充测试数据库?

Rails3插件 – 为rake任务加载环境

如何为rake任务加载rails模型,这是我的插件的一部分?

使用Rack :: Deflater时,rails中的HTTP流不能正常工作

我在rails 3.1中设置了独角兽,http流式传输工作直到我启用Rack :: Deflater。 我曾尝试使用Rack :: Chunked。 在curl中,我可以看到我在chrome中的响应,我得到以下错误:ERR_INVALID_CHUNKED_ENCODING 其他浏览器(firefox,safari)以及开发(osx)和生产(heroku)之间的结果相同。 config.ru: require ::File.expand_path(‘../config/environment’, __FILE__) use Rack::Chunked use Rack::Deflater run Site::Application unicorn.rb: listen 3001, :tcp_nopush => false worker_processes 1 # amount of unicorn workers to spin up timeout 30 # restarts workers that hang for 30 seconds 控制器: render “someview”, :stream => true 谢谢你的帮助。

在任何来源中都找不到rake-10.0.3

在Railscasts 335部署到vps之后,我在Rackspace上的Ubuntu 12.04服务器上成功安装了Rails(3.2.10)应用程序。 Nginx,Unicorn,rbenv和Capistrano。 然后,当我尝试安装第二个rails网站时,我在cap:deploy期间收到错误“找不到任何源中的rake-10.0.3”。 上限:设置和上限:检查成功。 此外,我的应用程序文件夹下没有当前目录。 如果我进入版本目录并运行bundle install,则使用rake-10.0.3。 两个应用程序之间的唯一区别是我尝试安装的新应用程序使用资产管道。 这是我的部署文件,除了set:application指令外,两个应用程序都是相同的。 set :user, ‘mark’ set :scm_passphrase, ‘xxxx’ set :domain, ‘99.99.99.99’ set :application, “my_app” set :repository, “#{user}@#{domain}:git/#{application}.git” ssh_options[:forward_agent] = true set :deploy_to, “/var/www/#{application}” role :app, domain role :web, domain role :db, domain, :primary => true default_run_options[:pty] = true set :deploy_via, :remote_cache set :scm, ‘git’ set :branch, […]

慢铁栈

当我跑 rails服务器 要么 耙-T 或者其他一些rails脚本,需要花费很多时间,大约1分钟。 确定这么慢的最佳方法是什么? 如何提高速度? Rails v是3.0.3运行ruby 1.9.2(RVM) – Linux

Ruby:rake:22:Gem的未定义方法`activate_bin_path’:模块(NoMethodError)

我在Ruby 1.8.7-p374中遇到过这个问题。 当尝试运行“rake db:migrate”时出现此错误: RubyGems installed the following executables: /home/wellington/.rbenv/versions/1.8.7-p374/bin/gem RubyGems system software updated /home/wellington/.rbenv/versions/1.8.7-p374/bin/rake:22: undefined method `activate_bin_path’ for Gem:Module (NoMethodError) 它发生在部署Rails应用程序上。 有什么想法解决这个问题?

Rake任务是否需要使用Resque在后台运行?

我在rake任务中有这个代码。 这似乎有点矫枉过正,因为rake任务已经作为一个cron工作运行了。 我想我可以安全地将它从Resque中取出并直接运行,但不确定我是否错过了什么。 desc “update daily sales” task :daily_sales => :environment do Resque.enqueue(DailySaleService.perform) end