我们正试图弄清楚我们的生产数据库最近是如何被删除的:团队成员使用生产数据库URL作为env变量运行本地开发构建。 dev构建删除所有数据并使用模拟数据重新填充表。我很困惑,因为团队成员没有专门将NODE_ENV设置为我们的heroku
生产环境,所以我们会认为我们的dev配置文件会被使用,而实时数据库url实际上从未被帆使用过。
这是我们的开发配置文件(/config/env/development.js
):
module.exports = {
connections: {
localMySql: {
adapter: 'sails-mysql',
host: 'localhost',
user: 'root',
password: 'correct',
database: 'foch_testing'
},
},
models: {
connection: 'localMySql',
migrate: 'drop'
},
...
}
对我来说,看看那个配置,看起来它会指定在开发模式下使用的foch_testing数据库,但是我们无法想象还有什么可能导致擦除。
要确认,实时数据库未被调用foch_testing
。
更新生产环境
实时数据库只能在生产环境中显式访问:
module.exports = {
connections: {
mysql: {
adapter: 'sails-mysql',
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
host: process.env.DB_HOST,
database: process.env.DB_DATABASE
}
},
models: {
connection: 'mysql',
migrate: 'safe'
},
提前致谢。