我正在尝试更深入地使用 Sequelize,特别是使用迁移。但是,我无法想象文档要求我们使用 json 文件来放置数据库信息。所以,我的问题是,“当我在我的项目中使用 Git 和 GiHub 时,这怎么可能呢?”如果我决定忽略该文件,我的同事如何才能了解我正在使用的确切结构?或者我错过了什么?您是否应该分享您的 Sequelize、Postgress 和 Git 的具体工作流程?
是的,通常将数据库信息放在 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 变量存在于您的一台服务器上。
我终于找到了我要找的东西,所以如果没有这个答案框,我不知道还有其他方式可以分享它。
我从这个答案中得到了灵感
babel-register
作为开发依赖require
它在.sequelizerc
cjs
格式。这是一个 commonJS 文件扩展。