检查天气sailsjs项目是在实时服务器上还是在本地服务器上运行

时间:2014-06-23 10:24:24

标签: mysql node.js sails.js

我正在开展一个项目,我在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作为我的数据库。

1 个答案:

答案 0 :(得分:0)

只需使用Node ENV-Variable:

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)。