Tôi có ứng dụng đường ray đã hoạt động thành công trong nhiều tháng. Ở một vài nơi tôi gọi trực tiếp đến cơ sở dữ liệu qua ActiveRecord :: Base.connection.execute (sql_code)Sự cố với lệnh COPY postgresql với Rails trên máy chủ khác nhau
Với nhu cầu quy mô gần đây, tôi vừa thêm máy chủ thứ hai để xử lý dữ liệu. Tôi muốn chạy cùng một ứng dụng nhưng kết nối qua mạng với máy chủ cơ sở dữ liệu khác. Đó là sự khác biệt duy nhất ở đây. Tất cả các lĩnh vực khác của ứng dụng hoạt động - nó có thể kết nối với cơ sở dữ liệu từ xa.
Nơi nó đang bẻ khóa, là nơi tôi có đường ray phát hành lệnh psql COPY để nhập tệp csv.
result = ActiveRecord::Base.connection.execute(@PGSQL_COPY_COMMAND) # perform the copy command
Điều này không thành công và không thể tìm thấy tệp csv. Tôi đã xác minh nó ở đó và có thể đọc được cho cả người dùng đang chạy ứng dụng đường ray và người dùng postgres.
Tôi có thiếu gì đó không?
Tôi cho rằng đó là vì lệnh COPY được ban hành chống lại các máy chủ từ xa những người sau đó vẻ cho tệp csv đã nói trong cấu trúc thư mục của nó và không tìm thấy nó. Rất tiếc. Tôi cần phải tìm một cách khác. –