Sobes.tech
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í.