0

我无法使用 Postgresql 在 Cloud9 (c9.io) 上设置 Rails 应用程序进行开发:迁移不成功。

常见错误:

~/workspace (master) $ rake db:migrate
rake aborted!
PG::ConnectionBad: could not connect to server: Connection refused
        Is the server running on host "0.0.0.0" and accepting
        TCP/IP connections on port 5432?
4

1 回答 1

0

Cloud9 默认不运行 PG。下面是我在 C9 上使用 Postgresql 的快速简单的方法:

1. Gemfile.rb:

gem 'pg'

2. 数据库.yml:

default: &default
  adapter: postgresql
  encoding: unicode
  pool: 5
  username: my_name
  password: my_pass
  host:     <%= ENV['IP'] %>

development:
  <<: *default
  database: my_db_development

test:
  <<: *default
  database: my_db_test

production:
  <<: *default
  database: my_db_production
  1. 将以下代码全部粘贴到控制台中:

`

sudo service postgresql start
sudo sudo -u postgres psql
CREATE USER my_name SUPERUSER PASSWORD 'my_pass';
\q
echo "export USERNAME=my_name"
echo "export PASSWORD=my_pass"
source
bundle
sudo sudo -u postgres psql
UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';
DROP DATABASE template1;
CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE';
UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';
\c template1
VACUUM FREEZE;
\q
bundle exec rake db:create
rake db:migrate

完毕!但是,在几个小时未使用该应用程序后,数据库进入睡眠状态,您必须通过在控制台中键入手动“切换”Postgres: sudo service postgresql start

于 2017-05-22T20:06:13.507 回答