2
在使用PostgreSQL作爲Yesod的持久性解決方案時,我似乎遇到了問題。在Yesod中使用PostgreSQL時缺少postgres.yml文件
我按照'Yesod in five minutes'指南中的步驟操作。
我用腳手架來創建一個項目。選擇選項t時,一切進展順利,我可以看到該應用程序:http://localhost:3000
。
然而,當我選擇的PostgreSQL數據庫,我得到了以下錯誤鍵入「耶索德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。
devel.hs: InvalidYaml (Just "YamlException \"Yaml file not found: config/postgres.yml\"")
和:
$ ls config
favicon.ico models postgresql.yml routes settings.yml
所以只要複製如果你看看你會看到生成的yml
和打開的文件有不同的名稱,它工作正常用psql與pgAdmin的III
這意味着您需要使用指定的用戶名/密碼創建數據庫。另外,我爲這個bug打開了一個Github的問題:https://github.com/yesodweb/yesod/issues/167 –
我做了什麼使所有工作都成功:我在yesod中創建了一個名爲rj的項目。然後,在postres中,我創建了一個用戶rj(CREATE USER rj;)和一個名爲rj(CREATE DATABASE rj WITH OWNER rj)的數據庫。請注意,小寫字母很重要,因爲我無法讓Postgres創建包含大寫字符的數據庫名稱。很高興知道Heskell源代碼的連接是在哪裏進行的,因爲我希望在項目名稱中使用大寫字母。無論如何,感謝您的幫助。 – user1013013