goose migration established
This commit is contained in:
@@ -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
|
||||
MIGRATOR_PORT=3000
|
||||
GOOSE_DRIVER=postgres
|
||||
GOOSE_DBSTRING='user=postgres dbname=postgres sslmode=disable'
|
||||
GOOSE_MIGRATION_DIR=migrations
|
||||
|
||||
@@ -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),
|
||||
|
||||
+19
-6
@@ -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:
|
||||
postgres-db:
|
||||
goose:
|
||||
+4
-6
@@ -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"]
|
||||
RUN go install github.com/pressly/goose/v3/cmd/goose@latest
|
||||
@@ -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)
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user