goose migration established

This commit is contained in:
valitovgaziz
2024-08-11 17:40:19 +05:00
parent f9a7615801
commit 32daac3a49
5 changed files with 43 additions and 26 deletions
+12 -7
View File
@@ -1,11 +1,16 @@
DB_USER=postgres
DB_PASSWORD=postgres
DB_NAME=postgres
DB_PORT=5432
HOST_DB=db
SERVER_PORT=8000
PGHOST=db
PGPORT=5432
PGUSER=postgres
PGPASSWORD=postgres
PGDATABASE=postgres
SSLmode=disable
POSTGRESQL_URL='postgres://postgres:postgres@db:5432/postgres?sslmode=disable'
PGURL='postgres://postgres:postgres@db:5432/postgres?sslmode=disable'
# SERVER
SERVER_PORT=8000
# MIGRATOR
MIGRATOR_PORT=3000
GOOSE_DRIVER=postgres
GOOSE_DBSTRING='user=postgres dbname=postgres sslmode=disable'
GOOSE_MIGRATION_DIR=migrations
+5 -5
View File
@@ -23,11 +23,11 @@ func InitDBconnection() {
slog.Info("Init DB connection")
dsn := fmt.Sprintf(
"host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Yekaterinburg",
os.Getenv("HOST_DB"),
os.Getenv("DB_USER"),
os.Getenv("DB_PASSWORD"),
os.Getenv("DB_NAME"),
os.Getenv("DB_PORT"),
os.Getenv("PGHOST"),
os.Getenv("PGUSER"),
os.Getenv("PGPASSWORD"),
os.Getenv("PGDATABASE"),
os.Getenv("PGPORT"),
)
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{
Logger: logger.Default.LogMode(logger.Info),
+18 -5
View File
@@ -5,10 +5,13 @@ services:
env_file:
- .env
ports:
- "${DB_PORT}:${DB_PORT}"
- "${PGPORT}:${PGPORT}"
volumes:
- postgres-db:/var/lib/postgresql/data
environment:
- POSTGRES_USER=${PGUSER}
- POSTGRES_PASSWORD=${PGPASSWORD}
- POSTGRES_DB=${PGDATABASE}
api:
build:
@@ -25,11 +28,21 @@ services:
command: ./bin/api.exe
migrator:
build: ./migrator
build:
context: ./migrator
dockerfile: Dockerfile
env_file:
- .env
ports:
- "${MIGRATOR_PORT}:${MIGRATOR_PORT}"
depends_on:
- api
- db
volumes:
- goose:/migrations
environment:
- GOOSE_DRIVER=${GOOSE_DRIVER}
- GOOSE_DBSTRING=${GOOSE_DBSTRING}
command: goose up
volumes:
postgres-db:
goose:
+3 -5
View File
@@ -1,11 +1,9 @@
FROM golang:1.22.5
FROM golang:latest
WORKDIR /app
COPY migrations/* app/migrations/
COPY . .
COPY go.mod app/
RUN go mod tidy
RUN go install github.com/pressly/goose/v3/cmd/goose@latest
CMD ["goose", "-dir=/app/migrations", "user=${DB_USER}", "dbname=${DB_NAME}", "sslmode=${SSLmode}" "up"]
@@ -1,9 +1,10 @@
-- Active: 1723171055346@@127.0.0.1@5432@postgres@public
-- +goose Up
-- +goose StatementBegin
CREATE TABLE IF NOT EXISTS users(
id UUID NOT NULL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL UNIQUE INDEX,
email VARCHAR(50) NOT NULL,
password VARCHAR(500) NOT NULL,
phone VARCHAR(50)
);