package
0.1.0
Repository: https://github.com/datumforge/go-template.git
Documentation: pkg.go.dev

# README

Database Support

Dependencies

  1. ent - insane entity mapping tool, definitely not an ORM but kind of an ORM
  2. atlas - Schema generation and migration
  3. entx - Wrapper to interact with the ent

Supported Drivers

  1. libsql
  2. sqlite
  3. postgres

Local Development

Config Examples

Libsql

  1. This will write to a local file template.db, already included in .gitignore
db:
  debug: true
  driver_name: "libsql"
  primary_db_source: "file:template.db"
  run_migrations: true

Sqlite

  1. This will write to a local file template.db, already included in .gitignore
db:
  debug: true
  driver_name: sqlite3
  primary_db_source: "template.db"
  run_migrations: true

Postgres

  1. Postgres is included in docker/docker-compose-fga.yml and the same instance can be used for development. The following connection string should work when using task docker:all:up
db:
  debug: true
  driver_name: postgres
  primary_db_source: "postgres://postgres:password@postgres:5432?sslmode=disable"
  run_migrations: true

Turso

  1. Replace the url with your turso database url and token
db:
  debug: true
  driver_name: libsql
  primary_db_source: "https://datum-golanglemonade.turso.io?authToken=$TURSO_TOKEN"  # set TURSO_TOKEN to value
  run_migrations: false

# Variables

GooseMigrationsPG contain an embedded filesystem with all the goose migration files for postgres go:embed migrations-goose-postgres/*.sql.
GooseMigrationsSQLite contain an embedded filesystem with all the goose migration files for sqlite go:embed migrations-goose-sqlite/*.sql.
Migrations contain an embedded filesystem with all the sql migration files go:embed migrations/*.sql.