mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
Add system for managing and scheduling data backups
Introduce a new backup management feature with automated scheduling, manual backups, and a dedicated interface for viewing backup status and details. This includes integrating `node-cron` for scheduling, updating the database schema to store backup information, and creating new routes and components for the backup manager. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 7c468936-2a88-4686-ac0a-84921a45222d Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/7c468936-2a88-4686-ac0a-84921a45222d/9xfbVBU
This commit is contained in:
1 parent
bfc90053f0
commit
fbeb36c04a
9 files changed
+131
-58
No files matched your search
@@ -11,6 +11,7 @@ import {
|
||||
date,
|
||||
decimal,
|
||||
primaryKey,
|
||||
bigint,
|
||||
} from "drizzle-orm/pg-core";
|
||||
import { relations } from "drizzle-orm";
|
||||
import { createInsertSchema } from "drizzle-zod";
|
||||
@@ -512,8 +513,24 @@ export const insertInvoiceVerificationCacheSchema = createInsertSchema(invoiceVe
|
||||
updatedAt: true,
|
||||
});
|
||||
|
||||
export const databaseBackups = pgTable("database_backups", {
|
||||
id: varchar("id", { length: 255 }).primaryKey(),
|
||||
filename: varchar("filename", { length: 255 }).notNull(),
|
||||
description: text("description"),
|
||||
size: bigint("size", { mode: "number" }).default(0),
|
||||
createdAt: timestamp("created_at").defaultNow(),
|
||||
createdBy: varchar("created_by", { length: 255 }).notNull(),
|
||||
tablesCount: integer("tables_count").default(0),
|
||||
status: varchar("status", { length: 50 }).default("creating"),
|
||||
backupType: varchar("backup_type", { length: 10 }).default("manual"),
|
||||
});
|
||||
|
||||
export const insertDatabaseBackupSchema = createInsertSchema(databaseBackups);
|
||||
|
||||
export type InsertNocodbConfig = z.infer<typeof insertNocodbConfigSchema>;
|
||||
export type InsertInvoiceVerificationCache = z.infer<typeof insertInvoiceVerificationCacheSchema>;
|
||||
export type DatabaseBackup = typeof databaseBackups.$inferSelect;
|
||||
export type InsertDatabaseBackup = z.infer<typeof insertDatabaseBackupSchema>;
|
||||
|
||||
// Types
|
||||
export type User = typeof users.$inferSelect;
|
||||
|
||||
Reference in new issue
Block a user