1. Połączenie z bazą danych SQLite
SQLite to lekka baza danych, a sama baza danych jest po prostu plikiem, co sprawia, że jest bardzo odpowiednia do małych projektów lub środowisk testowych.
Oto kroki do połączenia się z SQLite i uruchomienia automatycznego narzędzia migracji:
Najpierw upewnij się, że zainstalowałeś sterownik języka Go dla SQLite. Możesz to zrobić za pomocą polecenia:
go get github.com/mattn/go-sqlite3
Następnie w programie Go użyj poniższego kodu, aby połączyć się z bazą danych i utworzyć schemat:
package main
import (
"context"
"log"
"entdemo/ent"
_ "github.com/mattn/go-sqlite3"
)
func main() {
// Otwórz lub utwórz bazę danych SQLite w trybie pliku.
client, err := ent.Open("sqlite3", "file:ent?mode=memory&cache=shared&_fk=1")
if err != nil {
log.Fatalf("Nie udało się połączyć z SQLite: %v", err)
}
defer client.Close()
// Uruchom automatyczne narzędzie migracji w celu utworzenia lub zaktualizowania schematu bazy danych.
if err = client.Schema.Create(context.Background()); err != nil {
log.Fatalf("Nie udało się utworzyć zasobów schematu: %v", err)
}
// Zacznij korzystać z klienta do operacji na bazie danych.
}
Powyzszy kod najpierw importuje potrzebne paczki i tworzy obiekt połączenia client
dla bazy danych SQLite w pamięci. Następnie wykonuje client.Schema.Create
, aby przeprowadzić migrację bazy danych SQLite. Ten krok automatycznie tworzy lub aktualizuje tabele w bazie danych na podstawie zdefiniowanego schematu.
2. Połączenie z bazą danych PostgreSQL
PostgreSQL to potężny system baz danych obiektowo-relacyjny typu open-source. Jest powszechnie używany do złożonych projektów i obsługuje różnorodne zaawansowane funkcje. Aby korzystać z PostgreSQL w Go, musisz użyć odpowiadającego mu sterownika github.com/lib/pq
.
Zainstaluj sterownik PostgreSQL:
go get github.com/lib/pq
Kroki do połączenia się z bazą danych PostgreSQL i przeprowadzenia migracji są następujące:
package main
import (
"context"
"log"
"entdemo/ent"
_ "github.com/lib/pq"
)
func main() {
// Inicjalizuj klienta za pomocą informacji o połączeniu z bazą danych PostgreSQL.
client, err := ent.Open("postgres", "host=localhost port=5432 user=myuser dbname=mydb password=mypassword")
if err != nil {
log.Fatalf("Nie udało się połączyć z PostgreSQL: %v", err)
}
defer client.Close()
// Automatycznie uruchom narzędzie migracji.
if err = client.Schema.Create(context.Background()); err != nil {
log.Fatalf("Nie udało się utworzyć zasobów schematu: %v", err)
}
// Wykonuj inne operacje na bazie danych za pomocą klienta.
}
W tym kodzie zamień host
, port
, user
, dbname
i password
na poprawne informacje o połączeniu z bazą PostgreSQL w rzeczywistym środowisku.
3. Połączenie z bazą danych MySQL/MariaDB
MySQL to powszechnie używany system zarządzania bazami danych relacyjnymi, a MariaDB jest jednym z jego gałęzi. Połączenie z MySQL/MariaDB zazwyczaj wymaga ustawienia zestawu znaków (np. utf8mb4
) i strefy czasowej (np. UTC
).
Najpierw zainstaluj sterownik języka Go dla MySQL:
go get github.com/go-sql-driver/mysql
Połącz się i skonfiguruj bazę danych MySQL:
package main
import (
"context"
"log"
"entdemo/ent"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// Inicjalizuj klienta MySQL, ustaw zestaw znaków i strefę czasową.
client, err := ent.Open("mysql", "username:password@tcp(localhost:3306)/dbname?parseTime=True&loc=Local&charset=utf8mb4,utf8")
if err != nil {
log.Fatalf("Nie udało się połączyć z MySQL: %v", err)
}
defer client.Close()
// Wykonaj migrację danych.
if err = client.Schema.Create(context.Background()); err != nil {
log.Fatalf("Nie udało się utworzyć zasobów schematu: %v", err)
}
// Operacje na bazie danych zaczynają się stąd.
}
Upewnij się, że w ciągu połączenia zamienisz username
, password
, localhost
, 3306
i dbname
na odpowiednie wartości.
4. Połączenie z bazą danych Gremlin
Gremlin to język zapytań grafowych frameworku Apache TinkerPop, który jest używany w różnych systemach baz danych grafowych. Oto przykład połączenia z bazą danych grafową Gremlin przy użyciu AWS Neptune.
Zainstaluj framework ent z obsługą Gremlin:
go get entgo.io/ent/dialect/gremlin
Połącz się z bazą danych Gremlin:
package main
import (
"log"
"entdemo/ent"
_ "entgo.io/ent/dialect/gremlin"
)
func main() {
// Połącz się z punktem końcowym serwera Gremlin, tutaj jako przykład używając lokalnego uruchomienia.
client, err := ent.Open("gremlin", "http://localhost:8182")
if err != nil {
log.Fatalf("Nie udało się połączyć z Gremlin: %v", err)
}
defer client.Close()
// Zainicjuj lub użyj klienta do manipulowania bazą danych grafową.
}
Jeśli używasz usługi chmurowej, takiej jak AWS Neptune, zastąp http://localhost:8182
adresem i portem serwera Neptune.