PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Rails :déploiement sur Heroku, nombreux problèmes

Si vous avez une erreur :

PG::Error

fe_sendauth: no password supplied

Vous avez de bonnes nouvelles, votre application peut maintenant fonctionner avec la base de données PostgreSQL. (Mais vous devez configurer quelque chose)

Après avoir installé PostgreSQL, vous pouvez créer une nouvelle application Rails à l'aide de PostgreSQL par la commande :

rails new my_app -d postgresql

C'est database.yml sera créé :

development:
  adapter: postgresql
  encoding: unicode
  database: my_app_development
  pool: 5
  username: my_app
  password:

test:
  adapter: postgresql
  encoding: unicode
  database: my_app_test
  pool: 5
  username: my_app
  password:

production:
  adapter: postgresql
  encoding: unicode
  database: my_app_production
  pool: 5
  username: my_app
  password:

Vous voyez que trois bases de données ont username et password champ, c'est l'utilisateur du compte dans Postgresql, trois bases de données dans database.yaml fichier sera créé par cet utilisateur. Vous devez donc fournir username et password pour ça. Par défaut après l'installation de Postgresql, il a créé un utilisateur avec le nom d'utilisateur est postgresql et le mot de passe est postgresql . Vous pouvez l'utiliser.

Si vous souhaitez utiliser un autre utilisateur, ouvrez simplement pgAdmin III et créez un nouvel utilisateur en faisant un clic droit sur Login Roles et choisissez New login role pour créer un nouvel utilisateur avec mot de passe. Ensuite, mettez ce nom d'utilisateur et ce mot de passe dans database.yaml fichier.

Après cela, tout ce dont vous avez besoin maintenant, c'est de trouver et d'ouvrir pg_hba.conf fichier pour faire une configuration pour l'application peut fonctionner avec PostgreSQL. Je n'utilise pas Windows depuis longtemps, donc je ne sais pas où il se trouve, mais vous pouvez le trouver dans le dossier que vous avez installé PostgreSQL. Exemple, si vous installez sur E:\ partition, vous pouvez peut-être la trouver dans :

E:\PostgreSQL\version\data

Après l'avoir trouvé, ouvrez et trouvez une ligne :

# "local" is for Unix domain socket connections only
local all all ident sameuser

Changez-le en :

# "local" is for Unix domain socket connections only
local all all md5

Redémarrez ensuite votre base de données Postgresql. Pour créer une base de données pour l'application, exécutez rake db:create ou rake db:create:all . Maintenant, votre application peut utiliser la base de données PostgreSQL maintenant, si heureux :).