我添加了heroku postgres插件。
DATABASE_URL类似于postgres:// xxxxxxxxx:xxxxxxxx@xxxxxxxxx.compute-1.amazonaws.com:5432 / ddo2ahvosfggq
我希望数据库名称与my_app_database类似。我想将ddo2ahvosfggq重命名为my_app_database。
我该怎么做?
我可以使用ALTER DATABASE吗? http://www.postgresql.org/docs/9.1/static/sql-alterdatabase.html
StackOverflow How to rename database in Heroku?
中已经存在一个问题但答案是重命名应用程序。我不知道重命名应用程序如何工作?
如果my_app是我的heroku应用程序的名称。下面的DATABASE_URL会起作用吗?
postgres的:// XXXXXXXXX:xxxxxxxx@xxxxxxxxx.compute-1.amazonaws.com:5432 / my_app应用
答案 0 :(得分:5)
您无法。数据库即服务(DBaaS)和数据库名称无法自定义。您只需从服务中获取并使用即可。由于它不是面向用户的Web应用程序的详细信息,因此漂亮的名称是没有用的。 为什么要这么麻烦?
您可以对数据库执行的大多数操作都列在on Heroku Postgres website中。你可以:
答案 1 :(得分:2)
您真的不需要在Heroku上输入生产数据库的名称。
Heroku有一个post commit钩子,它将生产数据库详细信息写入/config/database.yml
。
如果您确实需要在没有模型的情况下查询数据库,则可以通过以下方式建立连接:
ActiveRecord::Base.establish_connection
query = ActiveRecord::Base.connection.execute('SELECT * FROM foo;')