Fela Maslen 9f1f3b5101 feat: database migrations and docker compose test DB setup %!s(int64=5) %!d(string=hai) anos
..
cmd 9f1f3b5101 feat: database migrations and docker compose test DB setup %!s(int64=5) %!d(string=hai) anos
pkg 9f1f3b5101 feat: database migrations and docker compose test DB setup %!s(int64=5) %!d(string=hai) anos
.gitignore 01354895ae feat: directory structure with dummy db package %!s(int64=5) %!d(string=hai) anos
Dockerfile 01354895ae feat: directory structure with dummy db package %!s(int64=5) %!d(string=hai) anos
Makefile 9f1f3b5101 feat: database migrations and docker compose test DB setup %!s(int64=5) %!d(string=hai) anos
README.md 9f1f3b5101 feat: database migrations and docker compose test DB setup %!s(int64=5) %!d(string=hai) anos
docker-compose.yml 9f1f3b5101 feat: database migrations and docker compose test DB setup %!s(int64=5) %!d(string=hai) anos
example.env 9f1f3b5101 feat: database migrations and docker compose test DB setup %!s(int64=5) %!d(string=hai) anos
go.mod 9f1f3b5101 feat: database migrations and docker compose test DB setup %!s(int64=5) %!d(string=hai) anos
go.sum 9f1f3b5101 feat: database migrations and docker compose test DB setup %!s(int64=5) %!d(string=hai) anos
init.sql 9f1f3b5101 feat: database migrations and docker compose test DB setup %!s(int64=5) %!d(string=hai) anos
test.env 9f1f3b5101 feat: database migrations and docker compose test DB setup %!s(int64=5) %!d(string=hai) anos

README.md

music-scanner

This is the backend part of the music player, written in Golang.

Building

Run make build inside this directory. Binaries will be built and output to the bin directory (which will be created if it does not exist).

Testing

Run the following commands to run unit tests:

  • make test.read: tests the file reader module

Migrations

First, make sure the following environment variables are set:

  • POSTGRES_HOST
  • POSTGRES_USER
  • POSTGRES_PASSWORD
  • POSTGRES_PORT (optional, defaults to 5432)
  • POSTGRES_DATABASE

Then, run:

  • make migrate

Creating migrations

After getting the migrate CLI tool, run:

  • migrate create -ext sql -dir pkg/db/migrations -seq create_some_table

Components

Music scanner

This is intended to be run as a scheduled job. It will scan a directory and add relevant metadata to a PostgreSQL database.

Usage

bin/scan