Вопрос по ubuntu, ruby, heroku, postgresql, ruby-on-rails – Установка PostgreSQL в Ubuntu для Ruby on Rails
Вот шаги, которые я выполнил:
Install PostgreSQL and development package
$ sudo apt-get install postgresql
$ sudo apt-get install libpq-dev
Set up a user that is the same as my Ubuntu log-in
$ sudo su postgres -c psql
postgres=# CREATE ROLE <username> SUPERUSER LOGIN;
postgres=# \q
Modify Gemfile
# Remove gem 'sqlite3'
gem 'pg'
Modify database.yml
in app directory
development:
adapter: postgresql
encoding: unicode
database: appname_development
pool: 5
timeout: 5000
username: <username>
password:
test:
adapter: postgresql
encoding: unicode
database: appname_test
pool: 5
timeout: 5000
username: <username>
password:
Run bundle install
$ bundle install
Create databases and migrations
$ rake db:create:all
$ rake db:migrate
Вот источники, которые я использовал, чтобы помочь:
http://mrfrosti.com/2011/11/postgresql-for-ruby-on-rails-on-ubuntu/
http://railscasts.com/episodes/342-migrating-to-postgresql
https://devcenter.heroku.com/articles/local-postgresql
CREATE ROLE Alex SUPERUSER LOGIN;
, В файле database.yml я также установил имя пользователя какAlex
и получил ту же ошибку, что и Jmontross. Затем я изменил его наalex
и все заработало. Я также должен был бежатьrake db:migrate RAILS_ENV=test
, Также обратите внимание - этот метод переносит базу данных из sqlite3 в postgres, но не переносит фактические данные в базе данных. Чтобы перенести его также, обратитесь к Railscast, указанному в ответе.
sudo sh -c "echo" debhttp://apt.postgresql.org/pub/repos/apt/ Precision-PGDG Main & apos; & GT; /etc/apt/sources.list.d/pgdg.list"
wget --quiet -O -http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get установить postgresql-common
sudo apt-get установить postgresql-9.3 libpq-dev
Для всехUbuntu 13.10
пользователи, открывающие эту тему, следуют инструкциям ниже для установкиpostresql
:
sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-common -t saucy
sudo apt-get install postgresql-9.2 libpq-dev
поскольку официального репозитория Postgres дляUbuntu 13.10
.
Затем создайте пользователя какNick
объясните (вы также можете указать пароль):
sudo su postgres -c psql
postgres=# CREATE ROLE gotqn SUPERUSER LOGIN;
postgres=# \password gotqn
postgres=# \q
Примечание: заменитьgotqn
выше сwhoami
результат:
Самый простой способ создать приложение rails - указать, что вы используетеpostgresql
следующее:
rails new Demo -d postgresql
Код выше автоматически добавитpg
жемчужина в вашемGemFile
и создать соответствующийdatabase.yml
файл:
development:
adapter: postgresql
encoding: unicode
database: Demo_development
pool: 5
username: gotqn
password: mypass
Примечание. Вам необходимо изменить имя пользователя и указать правильный пароль, если вы его установили.
Тогда бегиrake db:create
и запустить сервер рельсов.