Nodejs: Créer la base de données et tables

Ce projet utilise Nodejs et ExpressJS pour gérer le ventes des produits à un utilisateur donc le schéma relationnel de ce projet est:

produits(id,nom,marque,prix,qtestock)
utilisateur(id,nom,email,password,photo)
ventes(id,datevente,quantite,idproduit,idutilisateur)

Les étapes à suivre

  1. 1Database: créer le fichier database/createDatabase.js permettant de:
    Créer la base de données:ventejsbd
    Se connecter à la base de données ventejsbd
    Créer les tables produits utilisateurs et ventes
  1. 2Server: lancer le serveur node Serveur.js

2.Installer le module mysql

npm install mysql2 --save

1.Database: Créer le fichier database/CreateDatabase.js

/*Importer le module mysql qui permet de gérer les transaction dans une base de données mysql */
var CreateDatabase = {};
var mysql = require('mysql2');

var con = mysql.createConnection({
host: "localhost",
user: "root",
port:"8111",
password: ""
});

con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
con.query("CREATE DATABASE if not exists ventejsBD", function (err, result) {
if (err) throw err;
console.log("Database created");

//créer une connexion à la base de données
var con = mysql.createConnection({
host: "localhost", /*le serveur de la base de données*/
user: "root", /*Utilisateur de la base de données*/
password: "",/*le mot de passe de l'utilisateur de la base de données*/
port: "8111", /*le serveur de la base de données*/
database: "ventejsBD" /*le nom de la base de données à Créer manullement*/
});

//se connecter en utilisant la connexion con crée
con.connect(function(err) {
/*err:contient error de connexion*/
/*afficher erreur de connexion s'il existe*/
if (err) throw err;
/*pas d'erreur donc on peut exécuter des requête sql */
/*Créer la table produit */
var sql = "CREATE TABLE IF NOT EXISTS produits (id int primary key auto_increment,nom varchar(25),marque varchar(25) ,prix float,qtestock int)";
/*Exécuter la requete sql crée*/
con.query(sql, function (err, result) {
if (err) throw err;
console.log("Table produits crée");
});


/*1.Créer la table utilisateur */
var sql = "CREATE TABLE IF NOT EXISTS utilisateurs (id int primary key auto_increment,nom varchar(25),email varchar(25) ,password varchar(25) ,photo varchar(50))";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("table utilisateur est crée");
});
/*1.Créer la table ventes et ajoute les constraintes du clé étrangèrs */
var sql = "CREATE TABLE vente (id int primary key auto_increment,qte int ,idproduit int,idutilisateur int,";
sql+="constraint foreign key (idproduit) references produits(id) on delete cascade,"
sql+="constraint foreign key (idutilisateur) references utilisateurs(id) on delete cascade)"
con.query(sql, function (err, result) {
if (err) throw err;
console.log("table vente est crée");
});
});

});
});


module.exports=CreateDatabase;

C:\Users\user\gestionVenteJS>node database/CreateDatabase.js










Cours et TPs