Sequelize ORM,我们必须将数据库信息放入 json 文件中,这正常吗?

问题描述 投票:0回答:2

我正在尝试更深入地使用 Sequelize,特别是使用迁移。但是,我无法想象文档要求我们使用 json 文件来放置数据库信息。所以,我的问题是,“当我在我的项目中使用 Git 和 GiHub 时,这怎么可能呢?”如果我决定忽略该文件,我的同事如何才能了解我正在使用的确切结构?或者我错过了什么?您是否应该分享您的 Sequelize、Postgress 和 Git 的具体工作流程?

sql postgresql orm sequelize.js
2个回答
0
投票

是的,通常将数据库信息放在 json 或 js 文件中,为了更好和提高安全性,您应该从服务器上的 .env 文件或 ENV 变量中提取数据库配置。即代替:

development: {
    username: 'database_dev',
    password: 'database_dev',
    database: 'database_dev',
    host: '127.0.0.1',
    port: 3306,
    dialect: 'mysql'
  }

你的配置文件中应该有这样的内容:

development: {
    username: process.env.DB_USERNAME,
    password: process.env.DB_PASSWORD,
    database: process.env.DB_NAME,
    host: process.env.DB_HOSTNAME,
    port: process.env.DB_PORT,
    dialect: process.env.DIALECT
}

请注意,您的用户名和密码现在来自 process.env

然后,您必须创建一个 .env 文件,其中包含密码等所有敏感信息,并且此文件您必须添加到 .gitignore 并且永远不要将其提交到 git 。阅读有关 env 文件的更多信息这里

将代码共享到 github 时,您会包含 config.json/config.js 文件,但您的同事或潜在黑客不会知道用户名、密码或任何数据库配置,这样做的目的是为了避免获得密码等敏感信息在你的代码中。

数据库配置必须与他们单独共享,或者只能作为 ENV 变量存在于您的一台服务器上。


0
投票

我终于找到了我要找的东西,所以如果没有这个答案框,我不知道还有其他方式可以分享它。

我从这个答案中得到了灵感

  1. 安装
    babel-register
    作为开发依赖
  2. require
    它在
    .sequelizerc
  3. 确保配置文件采用
    cjs
    格式。这是一个 commonJS 文件扩展。
© www.soinside.com 2019 - 2024. All rights reserved.