【发布时间】:2016-12-28 01:47:51
【问题描述】:
在我的database.yml
default: &default
adapter: postgresql
encoding: unicode
pool: 5
timeout: 5000
database: postgres
username: website
development:
<<: *default
host: localhost
password: password
schema_search_path: "website_dev"
在 postgres 数据库中以管理员用户身份运行
ubuntu=# CREATE USER website WITH PASSWORD 'password';
CREATE ROLE
ubuntu=# CREATE SCHEMA website_dev AUTHORIZATION website;
CREATE SCHEMA
ubuntu=# CREATE SCHEMA website_test AUTHORIZATION website;
CREATE SCHEMA
这应该意味着用户/角色网站可以在模式 website_dev 和 website_test 中创建表,但是 rake db:migrate 任务失败并出现错误
ActiveRecord::StatementInvalid: PG::InvalidSchemaName: ERROR: no schema has been selected to create in
: CREATE TABLE "schema_migrations" ("version" character varying PRIMARY KEY)
【问题讨论】:
-
嗨,您找到答案了吗?我遇到了同样的错误
-
是的,我在 cloud9.io 中遇到了这个问题,因为它们对 postgres 有一组不同的默认值。我已经相应地更新了我的数据库 yml 以指向正确的数据库和用户。那个临时空间现在已经被删除了,所以很遗憾我不能分享 ~/.profile 文件
标签: ruby-on-rails postgresql ubuntu