2014-09-29 22 views
6

Chúng tôi đang gặp khó khăn khi thiết lập cơ sở dữ liệu Heroku/Postgres với Knex đang chạy các truy vấn của chúng tôi. Chúng tôi đã thiết lập db heroku/postgres của chúng tôi và tạo các bảng của chúng tôi, nhưng chúng tôi đang gặp khó khăn khi kết nối với Knex. Để làm cho vấn đề tồi tệ hơn, hầu như không có tài liệu về việc kết nối Heroku/Postgres với Knex hoặc bất kỳ ORM nào để cố gắng tìm ra thứ này là một nỗi đau thực sự.Kết nối Postgres Heroku với Knex không hoạt động

Đây là các mẫu kết nối mà tôi đã thử.

var knex = require('knex')({ 
    client: 'pg', 
    connection: { 
    user: username, 
    password: password, 
    host: host, 
    port: port, 
    database: database, 
    ssl: true 
    } 
    } 
}); 

Và ... Lưu ý rằng sự thật ssl đã được chuyển đổi và loại bỏ tất cả cùng nhau để không có kết quả.

var knex = require('knex')({ 
    client: 'pg', 
    connection: HEROKU_POSTGRESQL_COLOR_URL, 
    ssl: true 
    } 
    }); 

Chúng tôi cũng đã cố gắng mô hình này cũng như:

var pg = require('knex')({ 
    client: 'pg', 
    connection: HEROKU_POSTGRESQL_COLOR_URL 
}); 

Chúng tôi chưa kéo xuống một bản sao của localdb của chúng tôi, vì vậy mỗi thử nghiệm, chúng tôi chạy về cơ bản là một git commit. Về cơ bản, chúng tôi đang thử nghiệm một truy vấn chèn trên một yêu cầu GET đến trang gốc của chúng tôi (index.html). Vì vậy, trên bất kỳ nhận được yêu cầu đến trang chính, nó nên chèn một cái gì đó vào bảng waterrates của chúng tôi. Nếu tôi chuyển đổi nó từ chèn để chọn, nó trả về một đối tượng nhưng bạn không thể thực sự thấy bất kỳ dữ liệu nào trong đối tượng.

Các chèn chúng tôi đang cố gắng sử dụng là:

knex.select('*').from('waterrates').then(function(rows){ 
    return rows; 
}); 

knex('waterrates').insert({name: 'pleeeaseee work'}, {rate: 100}).then(function(rows){ 
    console.log(rows); 
}) 

knex.select(). 

Chúng tôi thực sự không chắc chắn nơi các lỗi có thể là như cố gắng kết nối không mang lại bất kỳ lỗi nào. Nó có thể là một cái gì đó ngớ ngẩn, nhưng chúng tôi không có ý tưởng nơi/làm thế nào để khắc phục sự cố này. Mọi sự trợ giúp sẽ rất được trân trọng!

Cảm ơn, B

Trả lời

5

Tôi đã có một phiên bản cũ của PG cài đặt được gây ra vấn đề. Chúng tôi đã thay đổi tệp package.json của mình để sử dụng PG mới nhất. Heroku cập nhật nó và nó đã hoạt động!

Là một lưu ý phụ, nếu có ai đó xem xét điều này trong tương lai, heroku yêu cầu kết nối SSL. Hãy ghi nhớ điều đó khi bạn đang làm việc. Chuỗi kết nối mà tôi đã cung cấp ở trên sẽ hoạt động cho tất cả các bạn.

B

Các vấn đề liên quan