fix: switch backend to CommonJS, generate Drizzle migrations, add migrate script
All checks were successful
Build and Push Docker Image to Gitea / build-and-push (push) Successful in 4m23s
All checks were successful
Build and Push Docker Image to Gitea / build-and-push (push) Successful in 4m23s
- Remove "type": "module" and switch tsconfig to CommonJS/Node resolution to fix drizzle-kit ESM/CJS incompatibility - Strip .js extensions from all backend TypeScript imports - Fix gamification resolver: combine two .where() calls using and() - Fix index.ts: wrap top-level awaits in async main(), fix Fastify+yoga request handling via handleNodeRequestAndResponse - Generate initial Drizzle SQL migration (0000_pale_hellion.sql) for all 15 tables - Add src/scripts/migrate.ts: programmatic Drizzle migrator for production - Copy migrations folder into Docker image (Dockerfile.backend) - Add schema:migrate npm script Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,8 +6,8 @@ import {
|
||||
index,
|
||||
uniqueIndex,
|
||||
} from "drizzle-orm/pg-core";
|
||||
import { users } from "./users.js";
|
||||
import { files } from "./files.js";
|
||||
import { users } from "./users";
|
||||
import { files } from "./files";
|
||||
|
||||
export const articles = pgTable(
|
||||
"articles",
|
||||
|
||||
@@ -5,7 +5,7 @@ import {
|
||||
index,
|
||||
integer,
|
||||
} from "drizzle-orm/pg-core";
|
||||
import { users } from "./users.js";
|
||||
import { users } from "./users";
|
||||
|
||||
export const comments = pgTable(
|
||||
"comments",
|
||||
|
||||
@@ -8,8 +8,8 @@ import {
|
||||
pgEnum,
|
||||
uniqueIndex,
|
||||
} from "drizzle-orm/pg-core";
|
||||
import { users } from "./users.js";
|
||||
import { recordings } from "./recordings.js";
|
||||
import { users } from "./users";
|
||||
import { recordings } from "./recordings";
|
||||
|
||||
export const achievementStatusEnum = pgEnum("achievement_status", [
|
||||
"draft",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
export * from "./files.js";
|
||||
export * from "./users.js";
|
||||
export * from "./videos.js";
|
||||
export * from "./articles.js";
|
||||
export * from "./recordings.js";
|
||||
export * from "./comments.js";
|
||||
export * from "./gamification.js";
|
||||
export * from "./files";
|
||||
export * from "./users";
|
||||
export * from "./videos";
|
||||
export * from "./articles";
|
||||
export * from "./recordings";
|
||||
export * from "./comments";
|
||||
export * from "./gamification";
|
||||
|
||||
@@ -9,8 +9,8 @@ import {
|
||||
uniqueIndex,
|
||||
jsonb,
|
||||
} from "drizzle-orm/pg-core";
|
||||
import { users } from "./users.js";
|
||||
import { videos } from "./videos.js";
|
||||
import { users } from "./users";
|
||||
import { videos } from "./videos";
|
||||
|
||||
export const recordingStatusEnum = pgEnum("recording_status", [
|
||||
"draft",
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
uniqueIndex,
|
||||
integer,
|
||||
} from "drizzle-orm/pg-core";
|
||||
import { files } from "./files.js";
|
||||
import { files } from "./files";
|
||||
|
||||
export const roleEnum = pgEnum("user_role", ["model", "viewer", "admin"]);
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@ import {
|
||||
uniqueIndex,
|
||||
primaryKey,
|
||||
} from "drizzle-orm/pg-core";
|
||||
import { users } from "./users.js";
|
||||
import { files } from "./files.js";
|
||||
import { users } from "./users";
|
||||
import { files } from "./files";
|
||||
|
||||
export const videos = pgTable(
|
||||
"videos",
|
||||
|
||||
Reference in New Issue
Block a user