Skip to content

Commit c943ac4

Browse files
committed
migrate from mysql to postgres & from to atlas
1 parent acf0d65 commit c943ac4

37 files changed

Lines changed: 317 additions & 3617 deletions

docker-compose.yml

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
services:
2-
mysql:
3-
# Use the official MySQL image.
4-
image: mysql:8.0
2+
pg:
3+
image: postgres:latest
54
ports:
6-
- "${MYSQL_PORT:-25060}:3306"
5+
- "${PG_PORT:-5432}:5432"
76
environment:
8-
MYSQL_ROOT_PASSWORD: ${MYSQL_PASSWORD:-password}
9-
MYSQL_DATABASE: ${MYSQL_DATABASE:-devdogs}
10-
# Ensure that the database is healthy before allowing dependent services to start.
7+
- POSTGRES_USER=${PG_USER:-root}
8+
- POSTGRES_PASSWORD=${PG_PASSWORD:-password}
9+
- POSTGRES_DB=${PG_DATABASE:-devdogs}
1110
healthcheck:
12-
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
11+
test: ["CMD-SHELL", "pg_isready", "-d", "db_prod"]
1312
interval: 10s
1413
timeout: 5s
1514
retries: 5
15+
volumes:
16+
- ./postgres/:/docker-entrypoint-initdb.d
1617
# Restart the container if it crashes.
1718
restart: on-failure:3
1819
s3:
@@ -23,4 +24,13 @@ services:
2324
- AWS_REGION=${S3_REGION:-us-east-1}
2425
- AWS_ACCESS_KEY_ID=${S3_ACCESS_KEY_ID:-test}
2526
- AWS_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY:-test}
26-
restart: on-failure:3
27+
restart: on-failure:3
28+
atlas:
29+
image: arigaio/atlas:latest-alpine
30+
depends_on:
31+
pg:
32+
condition: service_healthy
33+
volumes:
34+
- ./migrations/:/migrations
35+
network_mode: host
36+

drizzle.config.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@ import { env } from "~/env";
33

44
export default {
55
schema: "./src/server/db/schema.ts",
6-
dialect: "mysql",
6+
dialect: "postgresql",
77
dbCredentials: {
8-
host: env.MYSQL_HOST,
9-
user: env.MYSQL_USER,
10-
password: env.MYSQL_PASSWORD,
11-
port: env.MYSQL_PORT,
12-
database: env.MYSQL_DATABASE,
8+
ssl: process.env.NODE_ENV === "production",
9+
host: env.PG_HOST,
10+
user: env.PG_USER,
11+
password: env.PG_PASSWORD,
12+
port: env.PG_PORT,
13+
database: env.PG_DATABASE,
1314
},
1415
} satisfies Config;

drizzle/0000_cynical_hobgoblin.sql

Lines changed: 0 additions & 21 deletions
This file was deleted.

drizzle/0001_mighty_lilandra.sql

Lines changed: 0 additions & 3 deletions
This file was deleted.

drizzle/0002_sturdy_talisman.sql

Lines changed: 0 additions & 3 deletions
This file was deleted.

drizzle/0003_little_peter_parker.sql

Lines changed: 0 additions & 13 deletions
This file was deleted.

drizzle/0004_robust_otto_octavius.sql

Lines changed: 0 additions & 4 deletions
This file was deleted.

drizzle/0005_outgoing_whiplash.sql

Lines changed: 0 additions & 13 deletions
This file was deleted.

drizzle/0006_slimy_sebastian_shaw.sql

Lines changed: 0 additions & 6 deletions
This file was deleted.

drizzle/0007_mute_young_avengers.sql

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)