added packages into dockploy 4

This commit is contained in:
2026-09-10 17:36:45 +03:30
parent 24e1ce6984
commit 69017e785e
2 changed files with 92 additions and 20 deletions
+40 -9
View File
@@ -140075,14 +140075,26 @@ var require_apply_migrations = __commonJS({
var node_fs_1 = require("node:fs");
var node_path_1 = __importDefault2(require("node:path"));
var client_1 = require_default2();
var IGNORABLE = /* @__PURE__ */ new Set(["42701", "42710", "42P07"]);
function migrationsDir() {
return node_path_1.default.join(process.cwd(), "runtime", "migrations");
}
__name(migrationsDir, "migrationsDir");
function splitStatements(sql) {
return sql.split(/;\s*(?:\r?\n|$)/).map((part) => part.trim()).filter((part) => part.length > 0 && !part.startsWith("--"));
return sql.split(/;\s*(?:\r?\n|$)/).map((part) => part.split(/\r?\n/).filter((line) => {
const trimmed = line.trim();
return trimmed.length > 0 && !trimmed.startsWith("--");
}).join("\n").trim()).filter((part) => part.length > 0);
}
__name(splitStatements, "splitStatements");
function pgCode(err) {
if (typeof err === "object" && err && "meta" in err) {
const meta = err.meta;
return meta?.code;
}
return void 0;
}
__name(pgCode, "pgCode");
async function waitForDb(prisma) {
let lastError;
for (let i = 1; i <= 30; i++) {
@@ -140099,6 +140111,17 @@ var require_apply_migrations = __commonJS({
throw lastError;
}
__name(waitForDb, "waitForDb");
async function customerTableExists(prisma) {
const rows = await prisma.$queryRaw`
SELECT EXISTS (
SELECT 1
FROM information_schema.tables
WHERE table_schema = 'public' AND table_name = 'Customer'
) AS "exists"
`;
return Boolean(rows[0]?.exists);
}
__name(customerTableExists, "customerTableExists");
async function applyPendingMigrations() {
const dir = migrationsDir();
if (!(0, node_fs_1.existsSync)(dir)) {
@@ -140120,6 +140143,11 @@ var require_apply_migrations = __commonJS({
"applied_steps_count" INTEGER NOT NULL DEFAULT 0
)
`);
await prisma.$executeRawUnsafe(`DELETE FROM "_prisma_migrations" WHERE "finished_at" IS NULL`);
if (!await customerTableExists(prisma)) {
console.log("Empty database; replaying all migrations");
await prisma.$executeRawUnsafe(`DELETE FROM "_prisma_migrations"`);
}
const applied = await prisma.$queryRaw`
SELECT "migration_name" FROM "_prisma_migrations" WHERE "finished_at" IS NOT NULL
`;
@@ -140135,17 +140163,20 @@ var require_apply_migrations = __commonJS({
const checksum = (0, node_crypto_1.createHash)("sha256").update(sql).digest("hex");
const id = (0, node_crypto_1.randomUUID)();
console.log(`Applying migration ${name}`);
await prisma.$executeRaw`
INSERT INTO "_prisma_migrations" ("id", "checksum", "migration_name", "started_at", "applied_steps_count")
VALUES (${id}, ${checksum}, ${name}, now(), 0)
`;
for (const statement of splitStatements(sql)) {
await prisma.$executeRawUnsafe(statement);
try {
await prisma.$executeRawUnsafe(statement);
} catch (err) {
if (IGNORABLE.has(pgCode(err) ?? "")) {
console.log(` skip already-exists: ${statement.slice(0, 60)}`);
continue;
}
throw err;
}
}
await prisma.$executeRaw`
UPDATE "_prisma_migrations"
SET "finished_at" = now(), "applied_steps_count" = 1
WHERE "id" = ${id}
INSERT INTO "_prisma_migrations" ("id", "checksum", "migration_name", "started_at", "finished_at", "applied_steps_count")
VALUES (${id}, ${checksum}, ${name}, now(), now(), 1)
`;
}
console.log("Migrations up to date");