Tag: postgresql

查找不存在关联记录的父记录

这是我所拥有的协会。 award_test.rb has_many :instructor_student_awards , :dependent => :destroy has_many :award_test_payment_notifications, dependent: :destroy instructor_student.rb has_many :instructor_student_awards, :dependent => :destroy has_many :awards, through: :instructor_student_awards has_many :award_test_payment_notifications, dependent: :destroy instructor_student_award.rb belongs_to :award belongs_to :instructor_student belongs_to :award_test award_test_payment_notification.rb belongs_to :award_test belongs_to :instructor_student schema.rb “award_tests” t.date “test_date” t.time “test_time” t.integer “award_id” t.decimal “test_fee” “award_test_payment_notifications” t.text “response_params” t.string “status” t.string “transaction_id” […]

Heroku上的Rails应用程序无法写入PostgreSQL数据库,只能读取

我有一个Ruby on Rails应用程序,可以在本地使用sqlite3数据库,并且可以毫无问题地保存和检索记录。 当使用postgresql数据库在http://moviedata.herokuapp.com/上部署到Heroku时,记录不会保存,即使它看起来像日志说的那样。 从db精细读取的记录和数据按预期显示。 添加记录的尾标记日志是: 2012-08-21T19:51:31+00:00 app[web.1]: 2012-08-21T19:51:31+00:00 app[web.1]: 2012-08-21T19:51:31+00:00 app[web.1]: Started POST “/” for 50.53.6.156 at 2012-08-21 19:51:31 +0000 2012-08-21T19:51:31+00:00 app[web.1]: Parameters: {“utf8″=>”✓”, “authenticity_token”=>”+BYQLzhrfDkUVW8UaHikHpmtGHxpeQ/yF4VByHh9m1I=”, “movie”=>{“title”=>”The Running Man”, “description”=>”A documentary about a public execution game show.”, “year”=>”1987”, “genre”=>”science fiction”}, “commit”=>”Create Movie”} 2012-08-21T19:51:31+00:00 app[web.1]: Processing by MoviesController#index as HTML 2012-08-21T19:51:31+00:00 app[web.1]: Rendered movies/index.html.erb within layouts/application […]

取消Ruby on Rails中的当前/活动查询

在我的项目中,我正在运行一个返回大量数据的大量查询。 由于此查询的大小,运行时有时超过1分钟。 忽略这可能造成的其他问题,有没有办法取消当前运行的查询? 例如,用户启动查询并重定向到标准的“加载结果…”页面。 如果他们然后决定他们不再需要结果,他们可以点击“取消”按钮,这将以某种方式终止正在运行的查询。 这是可能的,怎么做? 谢谢!

Rake任务似乎忽略了database.yml配置

我正在使用MAC OS X以及通过Homebrew安装的postgresql。 我正在开发使用Rails 4.2.1和ruby 2.2.0。 与postgresql服务器的连接很好,但由于某种原因,每个应用程序都访问数据库“kstavrou”,这是我的系统用户名,作为开发数据库,​​并创建数据库.yml定义的其余部分。 如果你有超过1个rails应用程序,这很麻烦。 rake db:创建输出: Konstantinoss-MacBook-Pro:ecomm-intel kstavrou $ rake db:create kstavrou已经存在 ecomm_intel_test已经存在 奇怪的是,如果我清空database.yml仍然可以很好地连接到postgresql并尝试再次创建数据库“kstavrou”执行所有迁移,而不尝试创建测试数据库。 rake db:创建输出: Konstantinoss-MacBook-Pro:ecomm-intel kstavrou $ rake db:create kstavrou已经存在 database.yml的 default: &default adapter: postgresql host: localhost encoding: utf8 username: pguser password: 123456 pool: 5 production: <<: *default database: ecomm_intel_prod development: <<: *default database: ecomm_intel_dev test: <<: *default database: […]

致命:角色“根”不存在

我试图用postgresql数据库创建rails应用程序,但是当我创建数据库rake db:migrate bash时显示错误 FATAL: role “my” does not exist 如何解决? 对不起,我的英语不好 UPD my@my-P5K-SE ~/ror/timonin $ rake db:create FATAL: role “my” does not exist /usr/local/rvm/gems/ruby-2.1.3/gems/activerecord-4.1.4/lib/active_record/connection_adapters/postgresql_adapter.rb:898:in `rescue in connect’ /usr/local/rvm/gems/ruby-2.1.3/gems/activerecord-4.1.4/lib/active_record/connection_adapters/postgresql_adapter.rb:888:in `connect’ /usr/local/rvm/gems/ruby-2.1.3/gems/activerecord-4.1.4/lib/active_record/connection_adapters/postgresql_adapter.rb:568:in `initialize’ /usr/local/rvm/gems/ruby-2.1.3/gems/activerecord-4.1.4/lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `new’ /usr/local/rvm/gems/ruby-2.1.3/gems/activerecord-4.1.4/lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `postgresql_connection’ /usr/local/rvm/gems/ruby-2.1.3/gems/activerecord-4.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:435:in `new_connection’ /usr/local/rvm/gems/ruby-2.1.3/gems/activerecord-4.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:445:in `checkout_new_connection’ /usr/local/rvm/gems/ruby-2.1.3/gems/activerecord-4.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in `acquire_connection’ /usr/local/rvm/gems/ruby-2.1.3/gems/activerecord-4.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:351:in `block in checkout’ /usr/local/rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize’ /usr/local/rvm/gems/ruby-2.1.3/gems/activerecord-4.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:350:in `checkout’ /usr/local/rvm/gems/ruby-2.1.3/gems/activerecord-4.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in `block in connection’ /usr/local/rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize’ […]

包含,选择,排序,限制多个模型(单个查询)

我需要创建一个包含以下表中数据的查询: *对话 :在用户之间对消息进行分组的模型 class Conversation :conversation_participants ## Attributes title, created_at, updated_at end * ConversationParticipant :跟踪对话用户的模型 class ConversationParticipant < ActiveRecord::Base ## Associations belongs_to :conversation belongs_to :user ## Attributes conversation_id, user_id, seen, created_at, updated_at end *消息 :保持跟踪内容和发件人的模型 class Message “User” ## Attributes sender_id, content, conversation_id, created_at, updated_at end *用户 :具有属性name的模型 如何在单个查询中获取以下内容? (5)来自uniq Conversation 消息的最近消息的限制 来自ConversationParticipant的 user_id = […]

Order BY将30ms查询转换为7120ms查询。 已知的性能问题?

我有一个包含1m记录的User表: User (id, fname, lname, deleted_at, guest) 我有以下查询正在对postgres 9.1 db运行: SELECT “users”.* FROM “users” WHERE (users.deleted_at IS NULL) AND (SUBSTRING(lower(fname), 1, 1) = ‘s’) ORDER BY guest = false, fname ASC LIMIT 25 OFFSET 0 使用pgAdmin 3,此SQL需要7120ms才能返回25行。 如果我删除’ORDER BY guest = false,fname ASC’,则查询只需31ms 。 我有以下索引: add_index “users”, [“fname”], :name => “index_users_on_fname” add_index “users”, [“guest”, “fname”], […]

ActiveRecord:如何找到所有孩子符合条件的父母?

假设我有一个包含许多Child的Parent模型,那个Child也属于OtherParent 。 我怎样才能找到所有其Child所有Child属于任何其他OtherParent ? 在纯SQL中我能做到 Parent.find_by_sql(<<SQL) SELECT * FROM parents p WHERE NOT EXISTS ( SELECT * FROM children WHERE parent_id = p.id AND other_parent_id IS NULL ) SQL (从这里开始 ),但如果可能的话,我更愿意利用ActiveRecord。 谢谢! 我正在使用Rails 4.2.1和PostgreSQL 9.3

Rails数据库,为什么要使用相同的DBMS进行开发和生产?

我似乎无法准确地解释为什么你应该在开发中使用与生产中相同的数据库。 我个人喜欢在开发中使用sqlite3(它很轻,易于使用,并且有一个甜蜜的sqlite浏览器GUI工具),然后在heroku的生产中使用postgres。 但是,我一直在听听RBates或Michael Hartl或其他人是否应该在两者中使用相同的数据库,为什么会这样呢?

Rails 4自定义404导致Heroku上的postgresql连接失败

我在生产中使用自定义域部署了一个Rails 4应用程序。 我也有一个升级版本。 该应用程序使用舒适的墨西哥沙发。 出现以下问题:应用程序将达到所有请求返回500错误的状态。 日志显示: [jesse@Athens expat]$ heroku logs ActiveRecord::ConnectionTimeoutError (could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)): [jesse@Athens expat]$ heroku pg:info Connections: 5 [jesse@Athens expat]$ heroku pg:ps pid | state | source | running_for | waiting | query —–+——-+——–+————-+———+——- (0 rows) [jesse@Athens expat]$ heroku pg:killall pg_terminate_backend ———————- t t […]