sql >> Database >  >> RDS >> PostgreSQL

Waarom Sequelize-migratie een tabel maken, maar modellen kunnen geen verbinding maken met een database?

Guyz, ik heb een antwoord op mijn probleem gevonden,

in modellen/index.js

Ik verander process.env.NODE_ENV naar proces.env.NODE_ENV.trim()

'use strict';

const fs = require('fs');
const path = require('path');
const Sequelize = require('sequelize');
const basename = path.basename(__filename);

// Before
const env = process.env.NODE_ENV || 'development';

// After
const env = process.env.NODE_ENV.trim() || 'development';    // add .trim()

const config = require(__dirname + '/../config/config.js')[env];
const db = {};

let sequelize;
if (config.use_env_variable) {
  sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
  sequelize = new Sequelize(config.database, config.username, config.password, config);
}

...

db.sequelize = sequelize;
db.Sequelize = Sequelize;

module.exports = db;

pakket.json

"scripts": {
    "db:migrate:dev": "sequelize db:migrate --env development",
    "db:migrate:test": "sequelize db:migrate --env test",
    "db:migrate:production": "sequelize db:migrate --env production",
    "db:reset": "sequelize db:migrate:undo",
    "start": "SET NODE_ENV=production && babel-watch server/server.js",
    "dev": "SET NODE_ENV=development && babel-watch server/server.js",
    "test": "SET NODE_ENV=testing && babel-watch server/server.js"
  }

Voorbeeld , Laten we zeggen dat als ik de server start door de terminal in te typen

npm run dev 
If i do console.log(process.env.NODE_ENV)  // output is "development " with a space.

Hence, 
 process.env.NODE_ENV === "development"  // return false
 or
 "development " === "development" // return false

Javascript Trim() verwijder witruimte aan beide zijden van een string

Wil je meer middelen? ga naar w3c




  1. Wat is de reden dat de transactiecontext door een andere sessie wordt gebruikt?

  2. Hoe u de huidige datum en tijd in MySQL kunt krijgen

  3. MySQL InnoDB:niet-primaire sleutel automatisch verhogen

  4. Hoe gegevens uit meerdere tabellen op de juiste manier te selecteren met behulp van joins/subquery? (PHP-MySQL)