mirror of
https://github.com/Portabase/portabase.git
synced 2026-07-14 11:16:13 +02:00
Ready for 1.1.2-rc.2
This commit is contained in:
+1
-1
@@ -37,7 +37,7 @@ export const schemas = {
|
|||||||
|
|
||||||
export const db = drizzle({
|
export const db = drizzle({
|
||||||
client: pool,
|
client: pool,
|
||||||
logger: process.env.NODE_ENV != 'production',
|
// logger: process.env.NODE_ENV != 'production',
|
||||||
schema: schemas,
|
schema: schemas,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
+11
-4
@@ -1,8 +1,8 @@
|
|||||||
import { createEnv } from "@t3-oss/env-nextjs";
|
import {createEnv} from "@t3-oss/env-nextjs";
|
||||||
import { z } from "zod";
|
import {z} from "zod";
|
||||||
import packageJson from "../package.json" with { type: "json" };
|
import packageJson from "../package.json" with {type: "json"};
|
||||||
|
|
||||||
const { version } = packageJson;
|
const {version} = packageJson;
|
||||||
|
|
||||||
export const env = createEnv({
|
export const env = createEnv({
|
||||||
server: {
|
server: {
|
||||||
@@ -31,6 +31,10 @@ export const env = createEnv({
|
|||||||
S3_USE_SSL: z.string().optional(),
|
S3_USE_SSL: z.string().optional(),
|
||||||
|
|
||||||
STORAGE_TYPE: z.enum(["local", "s3"]).optional(),
|
STORAGE_TYPE: z.enum(["local", "s3"]).optional(),
|
||||||
|
|
||||||
|
RETENTION_CRON: z
|
||||||
|
.string()
|
||||||
|
.default(process.env.NODE_ENV === "production" ? "0 7 * * *" : "* * * * *"),
|
||||||
},
|
},
|
||||||
client: {
|
client: {
|
||||||
NEXT_PUBLIC_PROJECT_NAME: z.string().optional(),
|
NEXT_PUBLIC_PROJECT_NAME: z.string().optional(),
|
||||||
@@ -64,5 +68,8 @@ export const env = createEnv({
|
|||||||
S3_USE_SSL: process.env.S3_USE_SSL,
|
S3_USE_SSL: process.env.S3_USE_SSL,
|
||||||
|
|
||||||
STORAGE_TYPE: process.env.STORAGE_TYPE,
|
STORAGE_TYPE: process.env.STORAGE_TYPE,
|
||||||
|
|
||||||
|
RETENTION_CRON: process.env.RETENTION_CRON,
|
||||||
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -19,15 +19,11 @@ export async function enforceRetentionCount(databaseId: string, count: number) {
|
|||||||
const toDelete = backups.slice(count); // keep first `count`, delete rest
|
const toDelete = backups.slice(count); // keep first `count`, delete rest
|
||||||
|
|
||||||
for (const b of toDelete) {
|
for (const b of toDelete) {
|
||||||
|
|
||||||
await deleteBackupCronAction({
|
await deleteBackupCronAction({
|
||||||
backupId: b.id,
|
backupId: b.id,
|
||||||
databaseId: b.databaseId,
|
databaseId: b.databaseId,
|
||||||
file: b.file!,
|
file: b.file ?? "",
|
||||||
projectSlug: b.database.project?.slug!
|
projectSlug: b.database.project?.slug!
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -25,7 +25,7 @@ export async function enforceRetentionDays(databaseId: string, days: number) {
|
|||||||
await deleteBackupCronAction({
|
await deleteBackupCronAction({
|
||||||
backupId: backup.id,
|
backupId: backup.id,
|
||||||
databaseId: backup.databaseId,
|
databaseId: backup.databaseId,
|
||||||
file: backup.file!,
|
file: backup.file ?? "",
|
||||||
projectSlug: backup.database.project?.slug!
|
projectSlug: backup.database.project?.slug!
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ export async function enforceRetentionGFS(databaseId: string, gfsSettings: {
|
|||||||
await deleteBackupCronAction({
|
await deleteBackupCronAction({
|
||||||
backupId: b.id,
|
backupId: b.id,
|
||||||
databaseId: b.databaseId,
|
databaseId: b.databaseId,
|
||||||
file: b.file!,
|
file: b.file ?? "",
|
||||||
projectSlug: b.database.project?.slug!
|
projectSlug: b.database.project?.slug!
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import cron from "node-cron";
|
import cron from "node-cron";
|
||||||
import {retentionCleanTask} from "@/lib/tasks/database";
|
import {retentionCleanTask} from "@/lib/tasks/database";
|
||||||
|
import {env} from "@/env.mjs";
|
||||||
|
|
||||||
|
|
||||||
export const retentionJob = cron.schedule("* * * * *", async () => {
|
export const retentionJob = cron.schedule(env.RETENTION_CRON, async () => {
|
||||||
try {
|
try {
|
||||||
console.log("Retention Job : Starting task");
|
console.log("Retention Job : Starting task");
|
||||||
await retentionCleanTask();
|
await retentionCleanTask();
|
||||||
|
|||||||
Reference in New Issue
Block a user