PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Rails 4 / postgresql - chèn dữ liệu vào bảng dựa trên dữ liệu bảng khác (after_create)

Có vẻ như bạn có lỗi đánh máy trong mã của mình. Kết nối phải là ActiveRecord::Base.connection nhưng bạn đã viết DealPrize.connection.execute .

connection = ActiveRecord::Base.connection
connection.execute "sql query"

Hãy thử thay đổi mã của bạn như

after_create :create_deal_prizes

def create_deal_prizes
  Deal.transaction do
    connection = ActiveRecord::Base.connection
    self.prizes_number.times do |i|
      connection.execute "INSERT INTO ‘deal_prizes’ (deal_id) values (self.deal.id)"
    end
  end
end


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các truy vấn 'COMMIT' kéo dài với trạng thái 'không hoạt động' trong pg_stat_activity

  2. Làm cách nào để khắc phục sự cố không tìm thấy tệp 'postgres.h'?

  3. Làm cách nào để tạo chỉ mục trên trường JSON trong Postgres?

  4. Sự cố kết nối với SQLAlchemy và nhiều quy trình

  5. Làm cách nào để sử dụng chỉ mục trên bảng được phân vùng trong postgresql 8.3.7