fix: force db:push with yes pipe + add error logging to summaries
All checks were successful
CI/CD / test (push) Successful in 16s
CI/CD / deploy (push) Successful in 2s

This commit is contained in:
2026-01-30 04:48:22 +00:00
parent fe18fc12f9
commit 602e1ed75b
2 changed files with 26 additions and 21 deletions

View File

@@ -10,4 +10,4 @@ COPY . .
# Generate migrations and run # Generate migrations and run
EXPOSE 3100 EXPOSE 3100
CMD ["sh", "-c", "bun run db:push && bun run start"] CMD ["sh", "-c", "echo 'Running db:push...' && yes | bun run db:push 2>&1 && echo 'db:push done' && bun run start"]

View File

@@ -1,4 +1,4 @@
import { Elysia, t } from "elysia"; import { Elysia } from "elysia";
import { db } from "../db"; import { db } from "../db";
import { dailySummaries } from "../db/schema"; import { dailySummaries } from "../db/schema";
import { desc, eq, sql } from "drizzle-orm"; import { desc, eq, sql } from "drizzle-orm";
@@ -42,27 +42,32 @@ export const summaryRoutes = new Elysia({ prefix: "/api/summaries" })
const limit = Math.min(Number(query.limit) || 50, 200); const limit = Math.min(Number(query.limit) || 50, 200);
const offset = (page - 1) * limit; const offset = (page - 1) * limit;
const [items, countResult] = await Promise.all([ try {
db const [items, countResult] = await Promise.all([
.select() db
.from(dailySummaries) .select()
.orderBy(desc(dailySummaries.date)) .from(dailySummaries)
.limit(limit) .orderBy(desc(dailySummaries.date))
.offset(offset), .limit(limit)
db .offset(offset),
.select({ count: sql<number>`count(*)` }) db
.from(dailySummaries), .select({ count: sql<number>`count(*)` })
]); .from(dailySummaries),
]);
const total = Number(countResult[0]?.count ?? 0); const total = Number(countResult[0]?.count ?? 0);
return { return {
items, items,
total, total,
page, page,
limit, limit,
totalPages: Math.ceil(total / limit), totalPages: Math.ceil(total / limit),
}; };
} catch (e: any) {
console.error("Error fetching summaries:", e?.message || e);
throw e;
}
}) })
// GET /api/summaries/dates — list all dates that have summaries (for calendar) // GET /api/summaries/dates — list all dates that have summaries (for calendar)