gpt4 book ai didi

mysql - 检查 sailsjs 项目是否在实时服务器或本地服务器上运行

转载 作者:行者123 更新时间:2023-11-30 00:07:51 26 4
gpt4 key购买 nike

我正在开发一个在 NODE 中使用 sailjs 的项目。我通过创建一个名为“config_db”的文件在 config 文件夹中创建了我的数据库,我的 config_db 中的代码是

var Sequelize = require('sequelize');

//var sequelize = new Sequelize('databaseNameofLive', 'UserName', 'dbPasswordofLive', {
// host:"us-cdbr-east-05.cleardb.net",

var sequelize = new Sequelize('DatabaseName', 'UserName', '', {
host:"localhost",
dialect: "mysql", // or 'sqlite', 'postgres', 'mariadb'
port: 3306, // or 5432 (for postgres)
});

module.exports = {

dbase: sequelize

};

现在,每次我需要完成一项任务时,我都会将其拉到本地 PC 上,将数据库连接更改为本地并对其进行处理,然后将其更改回实时数据库并再次上传,我需要某种方法来让应用程序本身进行检查天气它在本地或实时运行并自动连接该数据库,

就像它检查并知道这次它在本地运行它将连接到以下数据库字符串

  var sequelize = new Sequelize('DatabaseName', 'UserName', '', {
host:"localhost",
dialect: "mysql", // or 'sqlite', 'postgres', 'mariadb'
port: 3306, // or 5432 (for postgres)
});

否则它将转到

var sequelize = new Sequelize('databaseNameofLive', 'UserName', 'dbPasswordofLive', {
host:"us-cdbr-east-05.cleardb.net",

我正在 NODE 中使用 sailsjs 创建这个应用程序,请告诉我如何做到这一点。我正在使用 mySQL 作为我的数据库。

最佳答案

只需使用 Node 环境变量:

if(process.env.NODE_ENV != "production"){
var sequelize = new Sequelize('DatabaseName', 'UserName', '', {
host:"localhost",
dialect: "mysql", // or 'sqlite', 'postgres', 'mariadb'
port: 3306, // or 5432 (for postgres)
});
}else{
var sequelize = new Sequelize('databaseNameofLive', 'UserName', 'dbPasswordofLive', {
host:"us-cdbr-east-05.cleardb.net",....
}

只需确保您在实时服务器上正确设置了 NODE_ENV!

顺便说一句。为什么你使用 Squelinze? sails 配有 Waterline(也是 ORM)。

关于mysql - 检查 sailsjs 项目是否在实时服务器或本地服务器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24363587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com