oktatas:web:express:sequelize_mariadb_es
Tartalomjegyzék
Express - MariaDB ES
- Szerző: Sallai András
- Copyright © 2025, Sallai András
- Szerkesztve: 2025
- Web: https://szit.hu
VSCode
Ajánlott bővítmények:
- SQLTools
- SQLTools MySQL/MariaDB/TiDB
Az akciósávon létrejön a henger alakú ikon. Itt tudunk adatbázis-kapcsolatokat felvenni.
Az adatbázis-kapcsolat a következő helyen tárolódik:
- .vscode/settings.json
A dora projekt
Projekt elkészítése
mkdir dora cd dora
A kezdeti könyvtárszerkezet:
dora/ `-database/ `-create.sql
Adatbázis
Készítsünk egy adatbázist.
- database/create.sql
-- adatbázis létrehozása create database dora character set utf8 collate utf8_hungarian_ci; -- felhasználó létrehozása grant all privileges on dora.* to dora@localhost identified by 'titok';
Alkalmazás
Tegyük a projektet Node.js projektté.
npm init -y npm install sequelize mariadb
dora/ |-app/ | `-database/ | `-database.js |-database.sql `-package.json
A package.json fájlban javítsuk a type kulcs értékét, module-ra:
- package.json
{ "type": "module" }
Az adatbázishoz kapcsolódás:
- app/database/database.js
import { Sequelize } from "sequelize"; const sequelize = new Sequelize({ dialect: "mariadb", host: "localhost", port: 3306, username: "emp", password: "titok", database: "emp" }); await sequelize.authenticate();
Futtatás:
node app/database/database.js
A database.js fájlt nem kötelező az app/database/ könyvtárba tenni, de később oda fog kerülni.
Hibakezelés
Esetleg egészítsük ki:
- app/database/database.js
import { Sequelize } from "sequelize"; const sequelize = new Sequelize({ dialect: "mariadb", host: "localhost", port: 3306, username: "emp", password: "titok", database: "emp" }); try { await sequelize.authenticate() console.log('Ok') }catch (err) { console.error('Hiba!') console.error(err) }
Modell létrehozása
- app/database/database.js
import { Sequelize } from "sequelize"; const sequelize = new Sequelize({ dialect: "mariadb", host: "localhost", port: 3306, username: "emp2", password: "titok", database: "emp2" }); const Employee = sequelize.define('employee', { id: { type: Sequelize.INTEGER, autoIncrement: true, allowNull: false, primaryKey: true }, name: { type: Sequelize.STRING, allowNull: false }, city: { type: Sequelize.STRING, allowNull: true }, salary: { type: Sequelize.DOUBLE, allowNull: true } }); await sequelize.sync({ alter: true }); Employee.create({ name: 'Erős István', city: 'Szeged', salary: 392 });
Az alter: true az adatok megtartásával szinkronizál.
oktatas/web/express/sequelize_mariadb_es.txt · Utolsó módosítás: 2025/08/22 13:35 szerkesztette: admin