草庐IT

数据元素

全部标签

ruby-on-rails - Rails 5 如何清除或删除生产 postgres 数据库

我正在尝试删除生产数据库,以便重新开始。当我从rails4升级到rails5时,它现在正在保护生产数据库不被意外删除。它在我运行rakedb:reset时显示以下错误消息。/app#rakedb:resetActiveRecord::SchemaMigrationLoad(1.8ms)SELECT"schema_migrations".*FROM"schema_migrations"(1.6ms)SELECT"ar_internal_metadata"."value"FROM"ar_internal_metadata"WHERE"ar_internal_metadata"."key"=

ruby - 如何禁用数据库 :schema:dump for migrations

我不希望Rails3在每次迁移时生成我的模式。如何正确禁用它?谢谢 最佳答案 对于仍在寻找在迁移后禁用数据库转储的方法的任何人,rails4中现在可以使用配置,可以像这样将其设置为false:config.active_record.dump_schema_after_migration=false会阻止它。此更改中已添加配置-https://github.com/rails/rails/pull/13948 关于ruby-如何禁用数据库:schema:dumpformigrations

ruby - Rails,如何迁移大量数据?

我有一个运行旧版本Spree(开源购物车)的Rails3应用程序。我正在将它更新到最新版本。这需要我在数据库上运行大量迁移以与最新版本兼容。但是,应用程序当前的数据库大约为300mb,要在我的本地计算机(macosx10.7、4gbram、2.4GHzCore2Duo)上运行迁移需要三天以上的时间才能完成。我能够使用AmazonEC2实例(高I/O按需实例,四倍超大)将这个时间减少到仅16小时。但是16小时仍然太长,因为我必须关闭网站才能执行此更新。有没有人有任何其他建议来降低这个时间?或提高迁移性能的任何提示?仅供引用:在Amazon实例上使用Ruby1.9.2和Ubuntu。

ruby-on-rails - 我的应用程序一直在创建数据库连接,我该如何追踪原因?

我有一个在Heroku上运行的RubyonRails应用程序。我不断在日志中收到这些消息:2015-05-05T16:11:14Zapp[postgres.27102]:[AQUA]connectionreceived:host=xx.xxx.xx.26port=602782015-05-05T16:11:14Zapp[postgres.27102]:[AQUA]connectionauthorized:user=postgresdatabase=somedb2015-05-05T16:11:14Zapp[postgres.27103]:[AQUA]connectionreceived

ruby-on-rails - Heroku 应用程序的数据库管理

我对Rails和Heroku都很陌生,但我正在认真考虑将其用作部署我的Ruby/Rails应用程序的平台。我想使用Heroku的所有功能,所以我更喜欢Heroku管理的“嵌入式”PostgreSQL,而不是AmazonRDSforMySQL的插件,但如果无法在SQL客户端...我知道在一个制作精良的应用程序中你不需要访问数据库,但有一些情况(将行添加到配置表,查看未映射到View中的数据,更新一些列以解决调试问题,性能监控,运行报告等查询)当这可能很好时......你是如何解决这个问题的?在由Heroku提供支持的真实应用中,您有什么体验?谢谢! 最佳答案

ruby-on-rails - 类似 Rails 的数据库迁移?

是否有任何易于安装/使用(在unix上)的数据库迁移工具,例如RailsMigrations?我真的很喜欢这个想法,但是纯粹为了管理我的数据库迁移而安装ruby​​/rails似乎有些过分了。 最佳答案 只需使用ActiveRecord和一个简单的Rakefile。例如,如果您将迁移放在db/migrate目录中,并且有一个包含您的数据库配置的database.yml文件,那么这个简单的Rakefile应该可以工作:Rakefile:require'active_record'require'yaml'desc"Migratethe

ruby - 如何在 Nokogiri/Ruby 解析期间检查页面上是否存在元素?

在使用Nokogiri(Rubygem)解析HTML页面期间,我如何检查页面上是否存在元素(在本例中为div)?在我的测试页面上,它确实存在,因此pp会产生预期的Nokogiri输出。但是if语句不起作用,==true似乎是错误的方法。有什么改进建议吗?干杯,克里斯pppage.at('.//div[@class="errorMsg"]')ifpage.at('.//div[@class="errorMsg"]')==truethenputs"Errormessagefoundonpage"end 最佳答案 与true比较不是正确的

arrays - 根据某些元素中可能为 nil 的属性对数组进行排序

我有一个对象数组[,,]我需要数组按时间排序,然后按值排序[,,]但是使用sort_by会抛出错误,因为时间为零。我现在正在使用一种丑陋的方式进行排序,但我相信有一个很好的方式来解决这个问题starred=[]@answers.each{|a|(starred 最佳答案 starred.sort_by{|a|[a?1:0,a]}当它必须比较两个元素时,它会比较一个数组。当Ruby比较数组(调用===方法)时,它比较第一个元素,只有当第一个元素相等时才转到第二个元素。?1:0保证,我们将Fixnum作为第一个元素,所以它应该没有错误。

ruby - 在 ruby​​ 中以散列形式返回结构数据

没有将标准ruby​​结构的数据作为散列(成员、值对)返回的方法是否有正当理由?看到结构和散列具有非常相似的用例,我很惊讶不存在这样的方法。或者是,我太盲目了?它很容易实现(我现在已经这样做了),但是标准库中缺少这样的功能,让我觉得我可能没有真正掌握ruby​​中结构的概念。 最佳答案 RubyOpenStruct#marshall_dump和Struct#each_pair:Person=Struct.new(:name,:age)person=Person.new("Jamie",23)person_hash=Hash[pers

ruby - 查看数组中的所有元素是否具有特定值的最快方法

我需要一种非常快速的方法来确定数组是否仅由值为9的整数组成。这是我目前的解决方案:input=[9,9,9,9,9,9,9,9,9,9,9,9]input.uniq==[9]你能做得更快吗? 最佳答案 require'benchmark'n=50000Benchmark.bmdo|x|x.report"uniq"don.timesdoinput=[9,9,9,9,9,9,9,9,9,9,9,9]input.uniq==[9]endendx.report"delete"don.timesdoinput=[9,9,9,9,9,9,9,9