Junior — Middle
Vytvárali ste migrácie pre databázy vo svojich projektoch?
sobes.tech AI
Odpoveď od AI
Áno, v projektoch v jazyku Go sa často vytvárajú migrácie na správu zmien v štruktúre databázy. Migrácie umožňujú postupne aplikovať zmeny (vytváranie tabuliek, pridávanie stĺpcov, indexov atď.) a ich vrátenie v prípade potreby.
Pre prácu s migráciami v Go sú populárne knižnice ako golang-migrate/migrate. Tieto umožňujú ukladať migrácie vo forme SQL súborov alebo Go kódu a ich programové použitie.
Príklad použitia migrácií s knižnicou migrate:
import (
"database/sql"
_ "github.com/lib/pq" // ovládač PostgreSQL
"github.com/golang-migrate/migrate/v4"
"github.com/golang-migrate/migrate/v4/database/postgres"
_ "github.com/golang-migrate/migrate/v4/source/file"
)
func main() {
db, _ := sql.Open("postgres", "postgres://pouzivatel:heslo@localhost:5432/databaza?sslmode=disable")
driver, _ := postgres.WithInstance(db, &postgres.Config{})
m, _ := migrate.NewWithDatabaseInstance(
"file://migracie",
"postgres", driver)
err := m.Up() // aplikovať všetky migrácie
if err != nil && err != migrate.ErrNoChange {
panic(err)
}
}
Týmto spôsobom migrácie pomáhajú udržiavať databázu aktuálnu a zjednodušujú proces nasadenia a aktualizácie aplikácií.