使用PostgreSQL作为Yesod的持久解决方案时,我似乎遇到了问题。
我按照“五分钟的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
答案 0 :(得分:2)
如果你看,你会看到生成的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
后要输入的命令而言)那么我就是全部; - 。)