2012-03-29 37 views
5

Tôi đã tìm thấy một số ví dụ bằng cách sử dụng bộ dữ liệu và có thể làm cho chúng hoạt động. Tất cả những ví dụ này là cho một cơ sở dữ liệu sqlite mặc dù. Tôi đang cố gắng sử dụng datamapper với postgresql.Làm thế nào để lấy datamapper để làm việc với một cơ sở dữ liệu postgresql?

Tôi đã thay đổi cuộc gọi trong bộ dữ liệu từ sqlite3 thành postgres và tôi đã cài đặt bộ điều hợp dm-postgres. Nhưng nó vẫn không hoạt động.

Tôi còn phải làm gì nữa?

+0

Bạn có thể sho w chúng tôi phần cấu hình của bạn cho db postgres? –

+0

Tôi chỉ thay đổi sqlite3 vì vậy nó trông giống như DataMapper.setup này (: mặc định, "postgres: // # {Dir.pwd} /database.pg") –

Trả lời

8

Không giống như SQLite, PostgreSQL có không lưu trữ cơ sở dữ liệu trong các tệp đơn lẻ.

Sau khi bạn có created your database, hãy thử một cái gì đó như thế này:

DataMapper.setup :default, { 
    :adapter => 'postgres', 
    :host  => 'localhost', 
    :database => 'your-database-name', 
    :user  => 'postgres', 
} 

Tùy thuộc vào cấu hình PostgreSQL, bạn có thể cần phải kết nối như một người dùng khác nhau, và/hoặc cung cấp một :password là tốt.

Bạn cũng có thể sử dụng các hình thức ngắn:

DataMapper.setup(:default, 'postgres://user:[email protected]/database') 
2

Một chuỗi kết nối tốt đẹp, mà sẽ làm việc với Heroku:

DataMapper.setup(:default, ENV['DATABASE_URL'] || "postgres://user:[email protected]/[YOUR_DATABASE_NAME]") 

nguồn: http://postgresapp.com/documentation

Tuy nhiên tôi chưa từng thấy bất cứ điều gì, tuy nhiên, nơi DataMapper sẽ tạo ra cơ sở dữ liệu Postgresql như Sqlite

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