我不确定我是否会生气,或者Heroku的数据表是否正在起作用但我有以下问题。
我已在Nitrous.io上的rails开发环境中设置了ruby,并已连接到Heroku上的数据库。在Nitrous.io中,然后键入psql
以访问postgresql。
从那里我输入\l
列出数据库。
然后\c <name of development database hosted on heroku>
然后\dt
列出关系,其中一个是users
最后,我输入命令SELECT * FROM users;
,这将返回有关用户的相关信息,如电子邮件地址,加密密码等。
然而,当我去Heroku并创建一个代码为select * from users
的dataclip对同一个数据库运行时,我收到了以下警告
Error: Dataclip cannot be created
ERROR: relation "users" does not exist
LINE 2: select * from users
我在这里完全遗漏了什么,或者dataclip无缘无故地抛出错误?我在我的应用中使用了Devise(第一次)。这会与它有什么关系吗?
修改
我开始认为我已将数据库存储在Nitrous.io而不是Heroku中。我想我可能已经使用autoparts在我的nitrous.io vm上安装postgresql
我已经在Heroku上运行命令SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'
作为dataclip,而用户表就不在那里。然后我在Heroku上的其他项目上运行它,我可以清楚地看到我创建的表格。
任何人都可以证实我的怀疑或知道如何检查数据库的位置吗?
答案 0 :(得分:1)
是的我确实在nitrous.io本身而不是Heroku上设置了postgresql数据库。此页面对其进行了解释:http://blog.nitrous.io/2013/07/02/building-a-rails-4.0-app-on-nitrous-io.html