Файл postgres.yml отсутствует при использовании PostgreSQL с Yesod - PullRequest
2 голосов
/ 27 октября 2011

Кажется, у меня проблема при использовании PostgreSQL в качестве постоянного решения для Yesod.

Я следовал инструкциям руководства «Йесод за пять минут».

Я использовал скаффолдер для создания проекта. При выборе варианта t все прошло хорошо, и я увидел приложение по адресу: http://localhost:3000.

Однако, когда я выбираю PostgreSQL в качестве базы данных, я получил следующую ошибку после ввода команды yesod devel

Registering FirstYesod-0.0.0...
Starting development server...
Starting devel application
devel.hs: InvalidYaml (Just "YamlException \"Yaml file not found: config/postgres.yml\"")
Devel application launched, listening on port 3000
Exit code: ExitFailure 11

Является ли этот файл Yaml чем-то, что я должен был добавить, или его должен был предоставить процесс установки? Если так, у кого-нибудь есть идея, почему это не было создано?

Я использую PostgreSQL 8.4.9. Работает нормально с psql и с PGAdmin III

1 Ответ

2 голосов
/ 27 октября 2011

Если вы посмотрите, вы увидите, что сгенерированный yml и открытый файл имеют разные имена:

devel.hs: InvalidYaml (Just "YamlException \"Yaml file not found: config/postgres.yml\"")

и:

$ ls config
favicon.ico  models  postgresql.yml  routes  settings.yml

Так что просто скопируйте (или переместите)файл:

$ cp config/postgresql.yml config/postgres.yml

Теперь вы получаете новую ошибку, специфичную для postgresql:

devel.hs: SqlError {seState = "", seNativeError = 1, seErrorMsg = "connectPostgreSQL: FATAL:  password authentication failed for user \"B\"\nFATAL:  password authentication failed for user \"B\"\n"}

Я не из БД, но если вы знаетеответ на этот (с точки зрения того, какие команды набирать после запуска psql), тогда я все уши; -).

...