mysql2-orm-core
v1.0.1
Published
ORM, migration and security utilities for mysql2
Maintainers
Readme
mysql2-orm-plus
Un module ORM léger, avec gestion des migrations et fonctionnalités de sécurité, conçu pour s'intégrer facilement avec la bibliothèque mysql2 de Node.js.
Description
mysql2-orm-plus fournit une couche d'abstraction simple et efficace pour interagir avec une base de données MySQL, basée sur mysql2.
Il inclut :
- Un ORM minimaliste pour définir des modèles et manipuler des données en toute simplicité
- Un gestionnaire de migrations pour versionner et appliquer les modifications de schéma
- Des fonctions orientées sécurité pour mieux gérer l'exécution des requêtes
Installation
npm install mysql2-orm-plusUtilisation
Initialiser une connexion mysql2
const mysql = require('mysql2/promise');
const { defineModel, createMigrationManager } = require('mysql2-orm-plus');
async function main() {
const connection = await mysql.createConnection({ host: 'localhost', user: 'root', database: 'test' });
// Créer un modèle lié à la table 'users'
const User = defineModel(connection, 'users', ['id', 'name', 'email']);
// Récupérer un utilisateur par ID
const user = await User.findById(1);
console.log(user);
// Créer une nouvelle instance utilisateur
const newUser = await User.create({ name: 'Alice', email: '[email protected]' });
console.log(newUser);
// Mettre à jour un utilisateur
await newUser.update({ email: '[email protected]' });
// Supprimer un utilisateur
await newUser.delete();
// Gestionnaire de migrations
const migrator = createMigrationManager(connection);
await migrator.ensureTable();
await migrator.run('create_users_table', `
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
email VARCHAR(255)
)
`);
}
main();API
defineModel(db, table, fields)
Crée une classe modèle associée à une table.
db: instance de connexion mysql2 (promise)table: nom de la table en basefields: tableau facultatif des colonnes
createMigrationManager(db)
Crée une instance pour gérer les migrations.
db: instance de connexion mysql2 (promise)
Fonctionnalités principales
- Modèles ORM : création, lecture, mise à jour, suppression simples
- Migrations : suivi et application des modifications de schéma
- Sécurité : protection contre les injections SQL via l'utilisation de requêtes préparées mysql2
Compatibilité
Ce module fonctionne avec la version promise-based de mysql2 pour Node.js.
Licence
MIT
