Files
cfw-autumn/scripts/migrations/validate-schema.ts
imeepos a98f11c214 refactor: pass env explicitly across all remaining request-path modules
- Remove last runtimeEnv import from processMessage.ts
- Add env: Env param to all functions with 'Cannot find name env' errors
- Convert initRedisV2 to lazy initialization (ensureRedisV2 + Proxy)
- Add Bindings: Env to StripeWebhookHonoEnv
- Fix 12+ files across external/, internal/, queue/ modules
- Scanning test passes: 1/1 (runtime-env-imports.test.ts)
2026-06-17 07:08:41 -07:00

29 lines
958 B
TypeScript

import { initDrizzle } from "@server/db/initDrizzle";
import { validateDbSchema } from "@server/db/validateDbSchema";
import { validateSqlFunctions } from "@server/db/validateSqlFunctions";
const { db } = initDrizzle({
maxConnections: Number(process.env.DB_MAX_CONNECTIONS ?? 5),
});
// Check if --validate-content flag is passed
const validateContent = process.argv.includes("--validate-content");
try {
console.log("Validating database schema...");
await validateDbSchema({ db, env: process.env as unknown as Env });
console.log("✅ Database schema validated successfully\n");
console.log(
`Validating SQL functions${validateContent ? " (with content validation)" : ""}...`,
);
await validateSqlFunctions({ db, validateContent });
console.log("✅ SQL functions validated successfully\n");
console.log("✅ All validations passed!");
process.exit(0);
} catch (error) {
console.error("❌ Validation failed:", error);
process.exit(1);
}