Friday, November 15, 2024

apa itu import { Sequelize } from 'Sequelize'

 


import { Sequelize } from 'sequelize' adalah sintaks untuk mengimpor class Sequelize dari library Sequelize. Berikut penjelasan lebih detail:


1. Apa itu Sequelize?

Sequelize adalah sebuah library Object-Relational Mapping (ORM) untuk Node.js yang memudahkan interaksi dengan database SQL seperti PostgreSQL, MySQL, SQLite, dan MSSQL. Library ini menyediakan cara untuk bekerja dengan database menggunakan model berbasis JavaScript, tanpa perlu menulis SQL secara langsung.


2. Apa itu Sequelize (Class)?

Class Sequelize adalah inti dari library Sequelize, yang digunakan untuk:

  • Membuat koneksi ke database.
  • Menentukan jenis database (PostgreSQL, MySQL, dll.).
  • Menyediakan fungsi untuk menjalankan query dan mengelola data.

3. Penjelasan Sintaks:

Sintaks Import:


import { Sequelize } from 'sequelize';



  • { Sequelize }:

    • Menunjukkan bahwa Sequelize adalah named export dari library sequelize.
    • Artinya, Anda hanya mengambil class Sequelize dari library tersebut.
  • sequelize (huruf kecil) adalah nama library yang diinstal dengan perintah:



  • npm install sequelize



    4. Penggunaan Class Sequelize

    Class Sequelize biasanya digunakan untuk membuat instance koneksi ke database.

    Contoh Koneksi ke Database:

     

    import { Sequelize } from 'sequelize';

    // Membuat koneksi database
    const sequelize = new Sequelize('database_name', 'username', 'password', {
    host: 'localhost',
    dialect: 'postgres', // Database yang digunakan: 'mysql', 'sqlite', 'postgres', dll.
    });

    // Mengecek koneksi
    (async () => {
    try {
    await sequelize.authenticate();
    console.log('Koneksi berhasil ke database!');
    } catch (error) {
    console.error('Gagal terkoneksi ke database:', error);
    }
    })();
     




    Parameter Sequelize:

    • database_name: Nama database yang ingin Anda gunakan.
    • username: Username untuk login ke database.
    • password: Password untuk login ke database.
    • host: Host tempat database berjalan (misalnya localhost).
    • dialect: Jenis database (PostgreSQL, MySQL, SQLite, dll.).

    5. Contoh Lengkap dengan Model:

    1. Koneksi Database (db.js):


    import { Sequelize } from 'sequelize';

    const sequelize = new Sequelize('my_database', 'my_user', 'my_password', {
    host: 'localhost',
    dialect: 'mysql', // atau 'postgres', 'sqlite', dll.
    });

    export default sequelize;



    2. Membuat Model (models/User.js):import { DataTypes } from 'sequelize';

    import sequelize from '../db.js';

    const User = sequelize.define('User', {
    name: {
    type: DataTypes.STRING,
    allowNull: false,
    },
    email: {
    type: DataTypes.STRING,
    unique: true,
    allowNull: false,
    },
    });

    export default User;



    3. Menggunakan Model (app.js):


    import express from 'express';
    import User from './models/User.js';

    const app = express();
    const port = 3000;

    app.use(express.json());

    // Endpoint untuk mendapatkan semua user
    app.get('/users', async (req, res) => {
    try {
    const users = await User.findAll();
    res.json(users);
    } catch (err) {
    console.error(err);
    res.status(500).send('Server Error');
    }
    });

    // Sinkronisasi database dan mulai server
    app.listen(port, async () => {
    try {
    await User.sync(); // Sinkronisasi model dengan database
    console.log(`Server berjalan di http://localhost:${port}`);
    } catch (err) {
    console.error('Gagal menyinkronkan database:', err);
    }
    });



    6. Perbedaan Sequelize dan sequelize

    • Sequelize (huruf besar): Class utama dari library Sequelize yang digunakan untuk membuat koneksi.
    • sequelize (huruf kecil): Instance dari class Sequelize, yang digunakan untuk menjalankan operasi database setelah konfigurasi.















    0 comments:

    Post a Comment