Veuillez nous informer sur le problème suivant. Je voudrais utiliser Sequelize pour travailler avec la base de données existante.Définition du modèle Sequelize pour la base de données MySQL existante
Stack utilisé:
- Node.js v6.10.3
- MySQL 2nd Gen 5.7 running on Google Cloud
- Sequelize 4.7.5
MySQL contient 1 table - 'test_table' avec id 'colonnes, le 'contenu', 'statut' et détient des données.
Je veux définir le modèle testTable qui "expliquer" mon MySQL 'test_table' pour sequelize, je lance:
connexion const = new Sequelize ("dbName", "utilisateur", "pass", { Hôte: xxx.xxx.xxx.xxx, dialecte: mysql }); const testTable = connection.define ('test_table', { id: {type: Sequelize.INTEGER, allowNull: false, unique: true, primaryKey: true, autoIncrement: true}, contenu : {type: Sequelize .STRING}, statut: {type: Sequelize.STRING}, });
Première surprise, à partir de ce moment, Node ignore complètement l'existence de 'test_table' et crée son 'analogue' (???).
C:\Users\dmitri\Desktop\app>node query.js
Executing (default): CREATE TABLE IF NOT EXISTS `test_tables` (`id` INTEGER NOT NULL auto_increment UNIQUE , `content` VARCHAR(255), `status` INTEGER, `createdAt` DATETIME NOT NULL, `updatedAt` DAT
ETIME NOT NULL, UNIQUE `test_tables_id_unique` (`id`), PRIMARY KEY (`id`)) ENGINE=InnoDB;
Executing (default): SELECT `id`, `content`, `status`, `createdAt`, `updatedAt` FROM `test_tables` AS `test_table`;
Executing (default): SHOW INDEX FROM `test_tables`
maintenant MySQL contient deux tables:
- 'test_table' (singular)
- 'test_tables' (plural) identical to "test_table" but empty.
Je suis en train de SELECT
id ,
contenu FROM
test_table` en exécutant le code Sequelize suivant:
testTable
.findAll({attributes: ['id', 'content']})
.then(result=>{
console.log(result)
})
Au lieu de retourner le contenu de 'test_table', noeud maintient l'ignorer:
C: \ Users \ dmitri \ noeud Desktop \ app> query.js exécution (par défaut): SELECT id
, content
DE test_tables
AS test_table
;
et renvoie [].
Quelle peut être la raison pour laquelle il saute volontairement à interroger 'test_tables' au lieu de 'test_table'? Est-ce que je manque complètement quelque chose ici?
Merci beaucoup!