草庐IT

SparkSQL-数据的加载和保存

全部标签

ruby - rbenv irb 历史不保存

我通过rbenv-installer安装ruby.当我使用irb控制台时,我可以通过在键盘上上下按来使用历史记录。当我退出控制台并重新启动时,我无法使用以前的历史记录。当我按下向上箭头按钮时,什么也没发生。当我使用rvm时,此选项有效。我如何在rbenv中打开它? 最佳答案 我找到了解决问题的方法。在文件~/.irbrc中写入:require'irb/ext/save-history'#HistoryconfigurationIRB.conf[:SAVE_HISTORY]=100IRB.conf[:HISTORY_FILE]="#{

ruby-on-rails - 如何强制 Rails 加载所有模型?

Rails按需加载模型。对于我正在编写的rake任务,我需要能够遍历所有ActiveRecord::Base实例(这可以通过ActiveRecord::Base.send(:subclasses))。但是,要使上述工作正常,它们必须已经加载。有人知道强制加载所有模型的方法吗?理想情况下,我不想浏览app/models,因为我也想捕捉插件添加的模型。 最佳答案 我需要为检查所有记录有效性的rake任务加载所有模型,并找到了方便的方法eager_load,可以像这样简单地使用:Rails.application.eager_load!

ruby-on-rails - Rails 3. 如何对所有记录执行保存操作?

我有一个名为shipments的模型。我在shipments表中添加了一些列,并且有一些列应该在保存之前计算。所以现在我必须编辑每条记录并点击更新,以便新列计算和添加数据。那么有没有办法对所有出货记录进行全局保存,以便添加数据?before_save:default_valuesdefdefault_valuesself.volume=1unlessself.volumeself.kilograms=1unlessself.kilogramsself.status="Open"ifself.status.blank?ifself.mode=="Air"self.estimated_tr

ruby-on-rails - Rails 如何在保存后更新列?

我想为我的速率操作创建一个after_save方法。它将划分rating_score/ratings并更新列评级。classKonkurrancersController这是我的模型:classKonkurrancerrating)endend我的Rails日志:StartedPOST"/konkurrancers/rate/46"for127.0.0.1at2011-04-2623:40:56+0200ProcessingbyKonkurrancersController#rateas*/*Parameters:{"utf8"=>"Ô£ô","authenticity_token"=

ruby - 哪个查询去了哪个数据库的 ActiveRecord 日志

在与不同数据库有多个连接的ActiveRecord应用程序中,日志中没有任何内容表明哪个查询去了哪个数据库。这些查询分离数据库:Base1.connection.select_value("select*fromfoo")Base2.connection.select_value("select*fromfoo")发出这些日志条目:D,[2017-03-13T09:27:11.844395#22112]DEBUG--:(0.6ms)select*fromfooD,[2017-03-13T09:27:11.844539#22112]DEBUG--:(0.1ms)select*fromfo

ruby-on-rails - 在 Rails 中上传 CSV 文件并处理记录以在不保存文件的情况下显示在页面上?

我正在学习Rails,并尝试创建一个文件上传页面来处理CSV数据,而无需使用我的数据库或模型。我还尽量避免使用任何gem,例如Paperclip或Carrier-wave。我取得了一些进展,但出于某种原因,我的代码无法正常工作。我没有在import.html.erb页面上显示CSV文件中的记录。当我单击页面上的上传按钮:localhost:3000/upload时,它会在提交后正确地将我重定向到预期的页面,但文件中的行不会出现。有人知道为什么页面不显示CSV文件中的记录吗?上传文件View(index.html.erb)::import},multipart:true)do%>Cont

ruby - 自动加载在 Ruby 1.9 中是线程安全的吗?

在我看来,自从thisfamousthread以来,Ruby社区一直对自动加载感到恐惧。,出于线程安全原因,不鼓励使用它。有谁知道这在Ruby1.9.1或1.9.2中是否不再是一个问题?我已经看到一些关于在互斥体中包装要求等的讨论,但是1.9变更日志(或者至少是我能够找到的那么多)似乎没有解决这个特定问题。我想知道我是否可以合理地开始在1.9-only库中自动加载而不会有任何合理的悲伤。提前感谢您的任何见解。 最佳答案 因为我也对此感到好奇,所以在2011年对此进行了更新。目前打开了两张工单:http://redmine.ruby-

ruby-on-rails - 为 Rails 迁移加载种子数据

我有一个现有的数据库,我正在将以前的“NULL”列转换为具有默认值的列(并使用所述默认值填充该列)。但是,该值是我需要创建的记录的ID。如果我将此记录放入db/seeds.rb,它不会运行,因为db/seeds.rb在迁移之后运行——但迁移需要种子数据。如果我在迁移中保留记录创建,那么如果我使用db:load创建新数据库,我将不会获得记录。除了在db/seeds.rb和迁移中复制它之外,还有更好的方法吗?谢谢! 最佳答案 虽然我能理解您希望保持DRY并且不必在migration和seeds.rb中都写这个,但我认为您应该在两个地方都

ruby-on-rails - 多个数据库的测试和 database_cleaner

我们有一个邮箱模型,它使用另一个邮件应用程序也连接到的辅助数据库。这称为使用establish_connection:mail_database现在,我想我可以尝试将它包装在if语句中,以便它为测试环境使用不同的连接,但我想知道如何保持这个数据库的清洁,最好使用我们已经将其用于“常规”数据库的database_cleaner。我希望有人能将我推向正确的方向。 最佳答案 我有一个使用rspec(2.12.0)和使用database_cleaner(0.9.1f4b44bb)测试的rails3.2.10应用程序,它有两个用于mysql的

ruby-on-rails - 错误 - 无法加载 'guard/rspec' 或“”找到类 Guard::Rspec

我正在通过RubyonRails教程(MichaelHartl)学习RoR。现在我尝试使用Guard运行测试。我的gem文件:source'https://rubygems.org'ruby'2.0.0'#ruby-gemset=railstutorial_rails_4_0gem'rails','4.0.2'group:development,:testdogem'sqlite3','1.3.8'gem'rspec-rails','2.13.1'gem'guard-rspec','2.5.0'endgroup:testdogem'selenium-webdriver','2.35.1