使用 Mac OSX Yosemite (10.10.4):
rails -v => Rails 4.2.3
ruby -v => ruby 2.2.2p95
遵循这些说明的组合:https://www.digitalocean.com/community/tutorials/how-to-setup-ruby-on-rails-with-postgres https://www.digitalocean.com/community/tutorials/how-to-setup-ruby-on-rails-with-postgres以及这些说明:http://blog.endpoint.com/2014/03/setup-rails-environment-with-postgresql.html http://blog.endpoint.com/2014/03/setup-rails-environment-with-postgresql.html
bash:
$createuser -P -d -e project (This was successful)
$password: aPassword
$re-enter password: aPassword
$rails new project --database=postgresql
$cd project/config/database.yml
这是 config/database.yml:
default: &default
adapter: postgresql
encoding: unicode
username: bespoke
password: <%= ENV['PROJECT_DATABASE_PASSWORD'] %>
#if I type env in bash => PROJECT_DATABASE_PROJECT: aPassword
pool: 5
development:
<<: *default
database: Project_development
test:
<<: *default
database: Project_test
到目前为止一切顺利...但是接下来:
rake db:create
第一次:myusername already exists
第二次:rake db:setup
我相信它们应该是相同的东西......
myusername already exists
Project_test already exists
/Users/myusername/Challenges/Project/db/schema.rb doesn't exist yet. Run `rake db:migrate` to create it, then try again. If you do not intend to use a database, you should instead alter /Users/myusername/Challenges/Project/config/application.rb to limit the frameworks that will be loaded.
换句话说,问题是:rake db:create
or rake db:setup
似乎做同样的事情能够创建表Project_test
因此他们说Project_test
已经创建...但他们拒绝创建表Project_development
而是坚持让我使用桌子myusername
没有在任何地方列出~!
我尝试删除默认值并将其硬编码到开发中,但无济于事。顺便说一句,这里的输出是psql
=> /list
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
--------------+---------+----------+-------------+-------------+-------------------
Project_test | project | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | mee | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
myusername | mee | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
这证明它确实创建了测试数据库并使用了正确的所有者/用户,但拒绝创建开发数据库。
我做错了什么或者我应该问他们的 github 问题吗?