【发布时间】:2015-07-06 12:54:58
【问题描述】:
我似乎无法让我的 Postgres 数据库使用活动记录链接到我的 Sinatra 应用程序。运行 db:migrate 时出现以下错误
ActiveRecord::NoDatabaseError: FATAL: database "localhost/till" does not exist
我运行了 dbcreate mydb 并且没有问题,它确实存在。
我有一个配置文件夹和一个 environment.rb 文件
db = URI.parse(ENV['DATABASE_URL'] || 'postgres:///localhost/mydb')
ActiveRecord::Base.establish_connection(
adapter: db.scheme == 'postgres' ? 'postgresql' : db.scheme,
host: db.host,
username: db.user,
password: db.password,
database: db.path[1..-1],
encoding: 'utf8'
)
我在我的 app.rb 中引用了该文件,所以这不是问题所在。非常感谢任何帮助。
【问题讨论】:
-
您在迁移之前是否运行过
rake db:create? -
是的。我删除了三个 /// 之一,现在我得到 Errno::ENOENT: No such file or directory @ rb_sysopen - db/schema.rb。我必须以某种方式生成架构吗?
标签: ruby postgresql sinatra sinatra-activerecord