2017-09-21 5 views
0

Suis un débutant à Postgres et Sequelize je me suis connecté avec succès à DB en essayant de créer une table dans DB qui est où suis frappé suis obtenir une erreur le nom de table ne existentComment créer une table dans Sequelize pour stocker dans Postgressql avec NodeJS

sequelize.authenticate().then(() => { 
    console.log("Success!"); 
    var News = sequelize.define('likes', { 
    title: { 
     type: Sequelize.STRING 
    }, 
    content: { 
     type: Sequelize.STRING 
    } 
    }, { 
    freezeTableName: true 
    }); 
    News.create({ 
    title: 'Getting Started with PostgreSQL and Sequelize', 
    content: 'Hello there' 
    }); 
    News.findAll({}).then((data) => { 
    console.log(data); 
    }).catch((err) => { 
    console.log(err); 
    }); 
}).catch((err) => { 
    console.log(err); 
}); 

Où est-ce que je fais une erreur? Il dit erreur: la relation "aime" n'existe pas. Tout type d'aide est apprécié

Répondre

2

Sequelize crée uniquement des tables via sync ou des migrations. Votre modèle, News a une méthode sync, que lorsqu'il est appelé à faire l'une des quelques choses

Appelée sans paramètre, il va créer la table si elle n'existe pas

si elle est appelée comme ça News.sync({ force: true }) il abandonnera la table actuelle si elle existe et en fera une nouvelle.

si appelé comme ceci News.sync({ alter: true }) il ajoutera tous les nouveaux champs qui ne sont pas encore dans le modèle (c'est une fonctionnalité v4).

Ces techniques peuvent être utiles lors d'un prototypage rapide, mais la meilleure solution consiste à utiliser les migrations. Les migrations vous permettent de suivre les modifications apportées à votre base de données au cours du développement, des différentes branches git et de la production. C'est de loin la meilleure solution, mais vient avec une petite quantité de coût initial et buy-in.

Si vous travaillez sur un projet de style hackathon, je vais juste avec {alter: true}, mais si vous construisez quelque chose que vous allez travailler pendant un certain temps, apprendre à connaître le migrations API. .

+0

'News.sync ({la force: false}) puis (function (err) { if (err) { console.log ('Une erreur se produit lors de la création table');} else { console . log ('Item table created successfully') } }); ' – Kannan

+0

Le commentaire ci-dessus est celui que j'essaie de faire en console il imprime Une erreur est survenue lors de la création de la table mais la table est créée et je peux aussi insérer les valeurs . Et en passant, pouvez-vous me donner un exemple simple de cette migration API – Kannan

+0

quelle est l'erreur? –