проверка погоды проект sails sjs запущен на действующем сервере или на локальном сервере

#mysql #node.js #sails.js

#mysql #node.js #sails.js

Вопрос:

я работаю над проектом, в котором я использую sailjs в NODE. я создал свою базу данных в папке config, создав файл с именем «config_db», код в моем 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

};
  

теперь каждый раз, когда мне нужно выполнить задачу, я вытаскиваю ее на свой локальный компьютер, меняю подключение к БД на локальное и работаю над ним, а затем меняю его обратно на живую базу данных и снова загружаю, мне нужен какой-то метод, с помощью которого само приложение проверяет погоду, на которой оно работает локально или в реальном времени, и автоматически подключает эту БД,

как будто он проверяет и узнал, что на этот раз он работает на локальном, он подключится к следующей строке базы данных

   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",
  

я создаю это приложение, используя sails sjs в NODE, пожалуйста, дайте мне знать, как я могу это сделать. и я использую MySQL для своей базы данных.

Ответ №1:

Просто используйте Node ENV-переменную:

 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? Паруса поставляются с ватерлинией (также ORM).