1. Terhubung ke Database SQLite

SQLite adalah database ringan, dan database-nya hanya berupa file, sehingga sangat cocok untuk proyek kecil atau lingkungan pengujian.

Berikut adalah langkah-langkah untuk terhubung ke SQLite dan menjalankan alat migrasi otomatis:

Pertama, pastikan Anda telah menginstal driver bahasa Go untuk SQLite. Anda dapat menginstalnya menggunakan perintah berikut:

go get github.com/mattn/go-sqlite3

Selanjutnya, di program Go Anda, gunakan kode berikut untuk terhubung ke database dan membuat skema:

package main

import (
    "context"
    "log"
    "entdemo/ent"
    _ "github.com/mattn/go-sqlite3"
)

func main() {
    // Buka atau buat database SQLite dalam mode file.
    client, err := ent.Open("sqlite3", "file:ent?mode=memory&cache=shared&_fk=1")
    if err != nil {
        log.Fatalf("Gagal terhubung ke sqlite: %v", err)
    }
    defer client.Close()

    // Jalankan alat migrasi otomatis untuk membuat atau memperbarui skema database.
    if err = client.Schema.Create(context.Background()); err != nil {
        log.Fatalf("Gagal membuat sumber skema: %v", err)
    }
    
    // Mulai menggunakan klien untuk operasi database dari sini.
}

Kode di atas pertama-tama mengimpor paket-paket yang diperlukan dan membuat objek koneksi client untuk database SQLite dalam memori. Kemudian, kode tersebut menjalankan client.Schema.Create untuk melakukan migrasi database SQLite. Langkah ini akan secara otomatis membuat atau memperbarui tabel-tabel dalam database berdasarkan skema yang Anda tentukan.

2. Terhubung ke Database PostgreSQL

PostgreSQL adalah sistem database objek-relasional sumber terbuka yang kuat. Ini banyak digunakan untuk proyek-proyek kompleks dan mendukung berbagai fitur canggih. Untuk menggunakan PostgreSQL di Go, Anda perlu menggunakan driver yang sesuai, yaitu github.com/lib/pq.

Instal driver PostgreSQL:

go get github.com/lib/pq

Langkah-langkah untuk terhubung ke database PostgreSQL dan melakukan migrasi adalah sebagai berikut:

package main

import (
    "context"
    "log"
    "entdemo/ent"
    _ "github.com/lib/pq"
)

func main() {
    // Inisialisasi klien dengan informasi koneksi database PostgreSQL Anda.
    client, err := ent.Open("postgres", "host=localhost port=5432 user=myuser dbname=mydb password=mypassword")
    if err != nil {
        log.Fatalf("Gagal terhubung ke postgres: %v", err)
    }
    defer client.Close()

    // Jalankan secara otomatis alat migrasi.
    if err = client.Schema.Create(context.Background()); err != nil {
        log.Fatalf("Gagal membuat sumber skema: %v", err)
    }
    
    // Lakukan operasi database lainnya menggunakan klien.
}

Pada kode ini, gantilah host, port, user, dbname, dan password dengan informasi koneksi PostgreSQL yang benar di lingkungan Anda yang sebenarnya.

3. Terhubung ke Database MySQL/MariaDB

MySQL adalah sistem manajemen database relasional yang banyak digunakan, dan MariaDB adalah salah satu cabangnya. Terhubung ke MySQL/MariaDB biasanya memerlukan pengaturan set karakter (misalnya, utf8mb4) dan zona waktu (misalnya, UTC).

Pertama, install driver bahasa Go untuk MySQL:

go get github.com/go-sql-driver/mysql

Terhubung dan konfigurasi database MySQL:

package main

import (
    "context"
    "log"
    "entdemo/ent"
    _ "github.com/go-sql-driver/mysql"
)

func main() {
    // Inisialisasi klien MySQL, atur set karakter dan zona waktu.
    client, err := ent.Open("mysql", "username:password@tcp(localhost:3306)/dbname?parseTime=True&loc=Local&charset=utf8mb4,utf8")
    if err != nil {
        log.Fatalf("Gagal terhubung ke MySQL: %v", err)
    }
    defer client.Close()

    // Lakukan migrasi data.
    if err = client.Schema.Create(context.Background()); err != nil {
        log.Fatalf("Gagal membuat sumber skema: %v", err)
    }
    
    // Operasi database dimulai dari sini.
}

Pastikan untuk mengganti username, password, localhost, 3306, dan dbname dalam string koneksi dengan nilai yang sesuai.

4. Terhubung ke Basis Data Gremlin

Gremlin adalah bahasa kueri graf dari kerangka kerja Apache TinkerPop, dan digunakan dalam berbagai sistem basis data graf. Berikut adalah contoh menghubungkan ke basis data graf Gremlin menggunakan AWS Neptune.

Pasang kerangka kerja ent dengan dukungan Gremlin:

go get entgo.io/ent/dialect/gremlin

Terhubung ke basis data Gremlin:

package main

import (
    "log"
    "entdemo/ent"
    _ "entgo.io/ent/dialect/gremlin"
)

func main() {
    // Terhubung ke ujung server Gremlin, menggunakan contoh menjalankan lokal disini.
    client, err := ent.Open("gremlin", "http://localhost:8182")
    if err != nil {
        log.Fatalf("Gagal terhubung ke Gremlin: %v", err)
    }
    defer client.Close()

    // Inisialisasi atau gunakan klien untuk memanipulasi basis data graf.
}

Jika menggunakan layanan cloud seperti AWS Neptune, ganti http://localhost:8182 dengan alamat server dan port Neptune.