web-dev-qa-db-fra.com

Le dialecte doit être explicitement fourni à partir de la v4.0.0

J'ai travaillé sur un projet NodeJS qui utilise la base de données PostgreSQL. J'essaie d'implémenter la migration vers la base de données. En outre, en utilisant Sequelize. Après avoir configuré le dossier de migration et la configuration, il génère une erreur lors de l'exécution de db: migrate

L'erreur est: "Le dialecte doit être explicitement fourni à partir de la v4.0.0"

7
shumana chowdhury

La solution pour moi était basée sur ce que j'avais défini pour ma variable NODE_ENV.

echo $NODE_ENV 

Si vous n'avez rien défini pour cette variable, essayez de la définir comme suit:

export NODE_ENV=development

Si une valeur est présent, assurez-vous que vous avez une entrée dans votre fichier de configuration pour that value. Pour moi, j'aime utiliser local. J'ai donc dû mettre à jour ma configuration pour ceci:

{
 local: {
  username: 'root',
  password: null,
  database: 'database_dev',
  Host: '127.0.0.1',
  dialect: 'postgres'
  },
 development: {
  username: 'root',
  password: null,
  database: 'database_dev',
  Host: '127.0.0.1',
  dialect: 'postgres'
  },
  test: {
  username: 'root',
  password: null,
  database: 'database_test',
  Host: '127.0.0.1',
  dialect: 'postgres'
 },
 production: {
  username: 'root',
  password: null,
  database: 'database',
  Host: '127.0.0.1',
  dialect: 'postgres'
 }
}  
7
JPero

si vous n'avez pas configuré de variables .env avant d'exécuter votre npm server 

Vous êtes susceptible de recevoir cette erreur. donc à chaque fois que vous redémarrez l'application pour modifications ..__, vous devrez exporter à nouveau

export DATABASE_URL=<your-db-url>
0
Delino

avez-vous oublié d'ajouter le dialecte à votre configuration? voir: http://docs.sequelizejs.com/manual/tutorial/migrations.html

0
Napinator

J'ai eu la même erreur et j'ai vu cette erreur dans le code.

  title: {
    type: Sequelize,
    allowNull: false,
  },

J'ai changé mon code avec ceci et le problème est résolu:

  title: {
    type: Sequelize.STRING,
    allowNull: false,
  },
0
Murat Ersin

Vérifiez votre fichier de configuration (noms d'env)

{
  development: {
    username: 'root',
    password: null,
    database: 'database_development',
    Host: '127.0.0.1',
    dialect: 'mysql'
  },
  test: {
    username: 'root',
    password: null,
    database: 'database_test',
    Host: '127.0.0.1',
    dialect: 'mysql'
  },
  production: {
    username: 'root',
    password: null,
    database: 'database_production',
    Host: '127.0.0.1',
    dialect: 'mysql'
  }
}

0
Sergiy Voytovych