J'ai actuellement Ruby on Rails installé via RVM dans Ubuntu 12.04. La base de données par défaut est configurée dans SQLite3, mais je voudrais passer à PostgreSQL pour les raisons de pousser vers Heroku. Comment puis-je y parvenir?
Voici les étapes que j'ai suivies:
Installez PostgreSQL et le package de développement
$ Sudo apt-get install postgresql
$ Sudo apt-get install libpq-dev
Configurer un utilisateur identique à ma connexion Ubuntu
$ Sudo su postgres -c psql
postgres=# CREATE ROLE <username> SUPERUSER LOGIN;
postgres=# \q
Modifier le fichier gemme
# Remove gem 'sqlite3'
gem 'pg'
Modifier database.yml
dans le répertoire de l'application
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:
Exécutez l'installation du bundle
$ bundle install
Créer des bases de données et des migrations
$ rake db:create:all
$ rake db:migrate
Voici les sources que j'ai utilisées pour aider:
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
Pour tous Ubuntu 13.10
les utilisateurs qui ouvrent ce fil suivent les étapes ci-dessous pour installer 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
car il n'y a pas de dépôt officiel Postgres pour Ubuntu 13.10
.
Ensuite, créez l'utilisateur comme Nick
explique (vous pouvez également spécifier un mot de passe):
Sudo su postgres -c psql
postgres=# CREATE ROLE gotqn SUPERUSER LOGIN;
postgres=# \password gotqn
postgres=# \q
Remarque: remplacez le gotqn
ci-dessus par le résultat whoami
:
La façon la plus simple de créer votre application Rails est de spécifier que vous utilisez postgresql
comme suit:
Rails new Demo -d postgresql
Le code ci-dessus ajoutera automatiquement le pg
gem dans votre GemFile
et créera le database.yml
fichier:
development:
adapter: postgresql
encoding: unicode
database: Demo_development
pool: 5
username: gotqn
password: mypass
Remarque: vous devez modifier le nom d'utilisateur et spécifier le mot de passe correct si vous l'avez défini.
Exécutez ensuite rake db:create
et démarrez le serveur Rails.
Sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main'> /etc/apt/sources.list.d/pgdg. liste"
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | Sudo apt-key add -
Mise à jour Sudo apt-get
Sudo apt-get install postgresql-common
Sudo apt-get install postgresql-9.3 libpq-dev