多个应用,一个数据库heroku rails



我和一个朋友有一个想法,通过使用Postgres创建多个应用程序。

我们是否可以将所有的数据库连接到一个单一的数据库中,要么单独推入每个数据库,要么只是将它们全部索引?

是在应用程序中使用heroku config与已配置的数据库来获取连接字符串。然后使用heroku config:set PG_URL=3829w:8eh8fe78hfd@ffeiwfafdsa.amazonaws.com/8fdHUfdsa在另一个应用程序中设置数据库。现在两个应用程序将使用相同的数据库。它们不会相互覆盖,但会写入同一个DB。

你可以创建多个模式,这将为每个模式命名表,并避免每个应用程序模型之间的任何名称冲突。

https://devcenter.heroku.com/articles/heroku-postgresql多个模式

在数据库中使用多个模式的最常见用例是构建软件即服务应用程序,其中每个客户都有自己的模式。

缺点(如链接所指出的)是,多个模式会显著降低性能。你还可以在应用程序之间共享连接限制、缓存和磁盘空间。根据您的使用情况,这可能不是问题,但请注意这一点。

进一步阅读:

  • CREATE SCHEMA docs: http://www.postgresql.org/docs/9.3/static/sql-createschema.html
  • database.yml中的schema_search_path设置为每个应用程序的个人模式:http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/PostgreSQLAdapter.html

相关内容

最新更新