sql >> Databáze >  >> RDS >> PostgreSQL

Proč migrace Sequelize vytvořit tabulku, ale modely se nemohou připojit k databázi

Páni, našel jsem odpověď na svůj problém,

v models/index.js

Změním process.env.NODE_ENV na process.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;

package.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"
  }

Příklad , Řekněme, že když spustím server zadáním do terminálu

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() odstraňuje mezery z obou stran řetězce

Chcete více zdrojů? navštivte prosím w3c




  1. spočítat počet řádků a získat pouze poslední řádek z tabulky

  2. Jak ignorovat duplicitní řádky při vkládání

  3. MySQL PHP count(*) vrací něco divného

  4. Dotaz MySQL s limitem a velkým offsetem trvá věčnost