0

我正在尝试将我的数据库移动到 PostgreSQL,因为我将它放在 Heroku 上。跟随Railscast #342。在我的 Ubuntu 机器上安装了 PostgreSLQ 及其依赖项。当我安装它时,我认为创建了一个用户。我在我的 database.yml 中使用了这个用户。它看起来像这样:

production:
  adapter: postgresql
  encoding: unicode
  database: dlrvbtApp1_production
  pool: 5
  username: jdartland
  password: 

development:
  adapter: postgresql
  encoding: unicode
  database: dlrvbtApp1_development
  pool: 5
  username: jdartland
  password: 

test:
  adapter: postgresql
  encoding: unicode
  database: dlrvbtApp1_test
  pool: 5
  username: jdartland
  password: 

安装了pg gemtaps gem。跑了一个Bundle install,创建了数据库rake db:create:all

启动 Taps senatra 服务器taps server sqlite://db/development.sqlite3 jdartland secure

服务器启动。并尝试通过此命令将 SQL 拉到我的新开发数据库中。

taps pull postgres://jdartland@localhost/dlrvbtApp1_development http://jdartland:secret@localhost:5000

然后我得到这个错误:

Failed to connect to database:
  Sequel::DatabaseConnectionError -> PG::ConnectionBad: fe_sendauth: no password supplied

我已经尝试过,创建了新的数据库,对 .yml、pg_config 等进行了处理,但我无法让它工作。这是我第一次使用 PostgreSQL 和 Heroku,请帮帮我!:)

4

4 回答 4

1

If you're trying to pull down your database from Heroku into a local postgres database, use pg:pull or pgbackups:

You should also look into using foreman and a .env file to setup your DATABASE_URL similar to how it's ran on Heroku, for dev/prod parity:

于 2013-10-15T21:53:40.643 回答
1

将生产上的用户更改为 localhost 并将密码留空。

production:
  adapter: postgresql
  encoding: unicode
  database: dlrvbtApp1_production
  pool: 5
  username: localhost
  password: 
于 2013-10-15T13:56:18.683 回答
1

如果您要将数据库移动到 Heroku,那么整个事情只是将您的数据库连接到 Heroku 的 PG 并迁移数据的情况。

您是否从 Heroku 收到数据库详细信息? 他们基本上使用亚马逊来为他们的数据库提供服务,您将获得一些凭据以将其放入您的 yml 文件中。以下是我们的一款实时 Heroku 应用程序示例:

production:
  adapter: postgresql
  database: ********
  pool: 5
  username: ****************
  password: ****************
  port: 5432
  host: ec2-54-228-234-250.eu-west-1.compute.amazonaws.com

迁移到 PostgreSQL 的方法(Heroku)

如果您希望将数据从 SQLite3 迁移到 PostgreSQL,我在这里找到了一个非常好的教程。唯一的问题是它不适用于 SQLite 哈哈

于 2013-10-15T16:04:17.930 回答
0

通过在堆栈上关注另一篇文章得到它的工作。只需上一个目录,安装水龙头Gem install Taps。卸载 Rack gemgem uninstall rack 4然后重新安装它gem install rack --version 1.0.1。没有在我的 progect 目录中执行此操作,只是在 RVM 中执行此操作。然后从同一目录中提取数据库。(不是来自我的项目目录)。

这是整个步骤:从 sqlite 到 postgres rails4,ruby 1.9.3 的 Taps 迁移失败

希望它可以帮助有同样问题的人。

现在只剩下一件事了,把它推到heroku .....我们会看看结果如何......呵呵

感谢大家的帮助!

于 2013-10-16T09:03:34.533 回答