Как настроить PostgreSQL и Rails в Cloud9
На момент написания статьи в Cloud9 был предустановлен PostgreSQL, поэтому вам не нужно устанавливать его самостоятельно. Однако по умолчанию он не запущен, поэтому вам нужно будет запустить его с помощью этой команды в терминале:
sudo service postgresql start
Измените пароль PostgreSQL на «пароль» (или выберите другой пароль):
sudo sudo -u postgres psql
# This will open the psql client.
# Type \password and press enter to begin process
# of changing the password:
postgres=# \password
# Type your new password (e.g. "password") and press enter twice:
Enter new password:
Enter it again:
# Password changed, quit psql with \q
postgres=# \q
Измените свой config/database.yml
на:
default: &default
adapter: postgresql
encoding: unicode
pool: 5
# Important configs for cloud9, change password value
# to what you entered in the previous psql step.
template: template0
username: ubuntu
password: password
development:
<<: *default
database: your_app_name_development
test:
<<: *default
database: your_app_name_test
production:
<<: *default
database: your_app_name_production
username: your_app_name
password: <%= ENV['YOUR_APP_NAME_DATABASE_PASSWORD'] %>
(Обратите внимание, что конфигурации template
, username
и password
в разделе default
выше необходимы).
Добавьте драгоценный камень pg
к вашему Gemfile
:
gem 'pg'
Выполнить bundle install
.
Удалите драгоценный камень sqlite из вашего Gemfile
(и, при желании, удалите файлы db/*.sqlite3
).
Создайте базу данных, загрузите schema.rb и заполните базу данных с помощью задачи db:setup
:
bundle exec rake db:setup
# Run bin/rake -AD db to see all db-related tasks
Запустите или перезапустите приложение rails и убедитесь, что оно работает.
Обратите внимание, что неисходные данные из вашей старой базы данных sqlite не будут присутствовать в новой базе данных.
Если вы когда-нибудь захотите использовать клиент psql для прямого взаимодействия с PostgreSQL, в терминале запустите psql
или bin/rails db
.
person
Eliot Sykes
schedule
16.05.2016
database.yml
- person davegson   schedule 24.10.2014