Files
libsqldb/examples/basic-usage/main.go
Mason Payne b08636ba39 move-migrations-to-option (#1)
Removes global variables and sets up migrations as optional.

Reviewed-on: #1
Co-authored-by: Mason Payne <mason@masonitestudios.com>
Co-committed-by: Mason Payne <mason@masonitestudios.com>
2024-10-16 18:04:01 -06:00

38 lines
755 B
Go

package main
import (
"embed"
"fmt"
"git.sa.vin/payne8/libsqldb"
"os"
)
//go:embed migrations/*.sql
var migrationFiles embed.FS
func main() {
primaryUrl := os.Getenv("LIBSQL_DATABASE_URL")
authToken := os.Getenv("LIBSQL_AUTH_TOKEN")
// Open the database
tdb, err := libsqldb.NewLibSqlDB(
primaryUrl,
libsqldb.WithMigrationFiles(migrationFiles),
libsqldb.WithAuthToken(authToken),
libsqldb.WithLocalDBName("local.db"), // will not be used for remote-only
)
if err != nil {
fmt.Fprintf(os.Stderr, "failed to open db %s: %s", primaryUrl, err)
os.Exit(1)
}
// Migrate the database
err = tdb.Migrate()
if err != nil {
fmt.Fprintf(os.Stderr, "failed to migrate db %s: %s", primaryUrl, err)
os.Exit(1)
}
defer tdb.Close()
}