Ajánlott bővítmények:
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:
mkdir dora cd dora
A kezdeti könyvtárszerkezet:
dora/ `-database/ `-create.sql
Készítsünk egy adatbázist.
-- 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';
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:
{ "type": "module" }
Az adatbázishoz kapcsolódás:
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 Sequelize() konstruktor több módon is paraméterezhető. Ahogy fentebb is használtuk, megadhatunk csak opciókat, de az opciók előtt megadhatjuk az adatbázis nevet, felhasználónevet és jelszót. Szintaxis:
Sequelize(database: string, username: string, password: string, options: object)
Lehetséges példa:
const Sequelize = require('sequelize'); const sequelize = new Sequelize('emps', 'emps', 'titok', { host: 'localhost', port: 3306, dialect: 'mariadb' });
Esetleg egészítsük ki:
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) }
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.