【问题标题】:How to get datamapper to work with a postgresql database?如何让 datamapper 与 postgresql 数据库一起工作?
【发布时间】:2012-04-13 01:07:15
【问题描述】:

我找到了几个使用 datamapper 的示例,并且能够让它们工作。不过,所有这些示例都是针对 sqlite 数据库的。我正在尝试将 datamapper 与 postgresql 一起使用。

我将 datamapper 中的调用从 sqlite3 更改为 postgres,并且我已经安装了 dm-postgres-adapter。但是还是不行。

我还需要做什么?

【问题讨论】:

  • 你能告诉我们你的 postgres db 配置部分吗?
  • 我刚刚更改了 sqlite3,所以它看起来像这样 DataMapper.setup(:default, "postgres://#{Dir.pwd}/database.pg")

标签: ruby-on-rails ruby database postgresql datamapper


【解决方案1】:

另一个不错的连接字符串,可以与 Heroku 一起使用:

DataMapper.setup(:default, ENV['DATABASE_URL'] || "postgres://user:password@localhost/[YOUR_DATABASE_NAME]")

来源:http://postgresapp.com/documentation

但是我还没有看到 DataMapper 将在哪里创建像 Sqlite 这样的 Postgresql 数据库

【讨论】:

    【解决方案2】:

    与 SQLite 不同,PostgreSQL 将数据库存储在单个文件中。

    在您拥有created your database 之后,尝试以下操作:

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

    根据您的 PostgreSQL 配置,您可能需要以不同的用户身份连接,和/或同时提供 :password

    您也可以使用简写形式:

    DataMapper.setup(:default, 'postgres://user:password@hostname/database')
    

    【讨论】:

      猜你喜欢
      • 2013-05-15
      • 2013-09-23
      • 1970-01-01
      • 2017-01-29
      • 1970-01-01
      • 2021-05-19
      • 1970-01-01
      • 2012-05-25
      • 2023-02-02
      相关资源
      最近更新 更多