Hvis du har fejl:
PG::Error
fe_sendauth: no password supplied
Du har gode nyheder, din app kan arbejde med PostgreSQL-databasen nu. (Men du skal konfigurere nogle ting)
Efter installation af PostgreSQL kan du oprette en ny rails-app ved hjælp af PostgreSQL ved kommando:
rails new my_app -d postgresql
Dette er database.yml
vil blive oprettet:
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:
Du kan se, at tre databaser har username
og password
felt, er dette kontobruger i Postgresql, tre databaser i database.yaml
filen oprettes af denne bruger. Så du skal angive username
og password
for det. Standard efter installation af Postgresql, oprettede den en bruger med brugernavnet postgresql
og adgangskoden er postgresql
. Du kan bruge det.
Hvis du vil bruge en anden bruger, skal du blot åbne pgAdmin III
og opret ny bruger ved at højreklikke på Login Roles
og vælg New login role
for at oprette ny bruger med adgangskode. Indsæt derefter brugernavnet og adgangskoden til database.yaml
fil.
Derefter er alt hvad du behøver nu, at finde og åbne pg_hba.conf
fil for at lave nogle konfigurationer for app kan arbejde med PostgreSQL. Jeg bruger ikke Windows i lang tid, så jeg er ikke sikker på hvor det er, men du kan finde i mappen du har installeret PostgreSQL. Eksempel, hvis du installerer på E:\
partition, måske kan du finde den i:
E:\PostgreSQL\version\data
Når du har fundet den, skal du åbne og finde en linje:
# "local" is for Unix domain socket connections only
local all all ident sameuser
Skift det til:
# "local" is for Unix domain socket connections only
local all all md5
Genstart derefter din Postgresql-database. For at oprette en database til appen skal du køre rake db:create
eller rake db:create:all
. Nu kan din app bruge PostgreSQL-databasen nu, så glad :).