繁体   English   中英

Node.js中用于生产和开发的不同数据库

[英]Different database for production and development in nodejs

我知道Ruby on Rails具有此功能,并且在railstutorial中特别鼓励它。 但是,我在nodejs中没有发现这样的东西。 如果我想在我的机器上运行Sqlite3,以便可以轻松使用数据库访问,但是在Heroku上的生产环境中使用postgres,我该如何在Nodejs中做到这一点? 我看不到关于它的任何教程。

谢谢!

编辑:我的意思是包括Node.JS + Express。

要在生产Db和开发Db之间切换,请使用不同的端口在本地和Heroku上运行应用程序。 由于默认情况下,Heroku将应用程序运行到端口80,因此在本地运行应用程序时还有其他端口。

如果您的应用程序是在本地运行还是在生产环境中运行,这将有助于您确定运行时的状态,并且可以相应地切换数据库。

当然有可能,但是请注意,这可能不是一个好主意: http : //12factor.net/dev-prod-parity

如果您不想在本地设置postgres的麻烦,可以在Heroku上使用免费的postgres计划,然后从本地计算机连接到它:

DATABASE_URL=url node server.j

.env文件可以使此操作更容易:

您可以使用诸如jugglingdb来执行此操作:

JugglingDB(3)是用于nodejs的跨数据库ORM,提供了访问大多数流行数据库格式的通用接口。 当前支持的是:mysql,sqlite3,postgres,couchdb,mongodb,redis,neo4j和js-memory-storage(是的,仅用于测试用途的自编写引擎)。 您可以添加自己喜欢的数据库适配器,签出现有适配器之一以了解如何操作,我保证这非常容易。

Jugglingdb还可以在客户端(使用WebService和Memory适配器)上工作,这允许编写使用JSON API与服务器通信的富客户端应用程序。

我个人没有使用过它,但是拥有一个通用的API来访问您所有的数据库实例将使其在本地使用一个,而在生产环境中使用一个则非常简单-您也可以连接一些位置检测而不会带来太多麻烦,并且可以自动进行根据目标数据库所在的环境选择目标数据库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM