mirror of
https://github.com/andwati/dokploy.git
synced 2026-11-15 00:15:17 +00:00
Enhance backup and deployment features
- Updated the RestoreBackupSchema to require serviceName for compose backups, improving validation and user feedback. - Refactored the ShowBackups component to include deployment information, enhancing the user interface and experience. - Introduced new SQL migration files to add backupId to the deployment table and appName to the backup table, improving data relationships and integrity. - Enhanced deployment creation logic to support backup deployments, ensuring better tracking and management of backup processes. - Improved backup and restore utility functions to streamline command execution and error handling during backup operations.
This commit is contained in:
@@ -103,7 +103,6 @@ const RestoreBackupSchema = z
|
||||
.enum(["postgres", "mariadb", "mysql", "mongo", "web-server"])
|
||||
.optional(),
|
||||
backupType: z.enum(["database", "compose"]).default("database"),
|
||||
serviceName: z.string().nullable().optional(),
|
||||
metadata: z
|
||||
.object({
|
||||
postgres: z
|
||||
@@ -128,6 +127,7 @@ const RestoreBackupSchema = z
|
||||
databaseRootPassword: z.string(),
|
||||
})
|
||||
.optional(),
|
||||
serviceName: z.string().optional(),
|
||||
})
|
||||
.optional(),
|
||||
})
|
||||
@@ -139,6 +139,17 @@ const RestoreBackupSchema = z
|
||||
path: ["databaseType"],
|
||||
});
|
||||
}
|
||||
|
||||
console.log(data.backupType, { metadata: data.metadata });
|
||||
|
||||
if (data.backupType === "compose" && !data.metadata?.serviceName) {
|
||||
ctx.addIssue({
|
||||
code: z.ZodIssueCode.custom,
|
||||
message: "Service name is required for compose backups",
|
||||
path: ["metadata", "serviceName"],
|
||||
});
|
||||
}
|
||||
|
||||
if (data.backupType === "compose" && data.databaseType) {
|
||||
if (data.databaseType === "postgres") {
|
||||
if (!data.metadata?.postgres?.databaseUser) {
|
||||
@@ -217,6 +228,7 @@ export const RestoreBackup = ({
|
||||
databaseName: databaseType === "web-server" ? "dokploy" : "",
|
||||
databaseType:
|
||||
backupType === "compose" ? ("postgres" as DatabaseType) : databaseType,
|
||||
backupType: backupType,
|
||||
metadata: {},
|
||||
},
|
||||
resolver: zodResolver(RestoreBackupSchema),
|
||||
@@ -559,7 +571,7 @@ export const RestoreBackup = ({
|
||||
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="serviceName"
|
||||
name="metadata.serviceName"
|
||||
render={({ field }) => (
|
||||
<FormItem className="w-full">
|
||||
<FormLabel>Service Name</FormLabel>
|
||||
|
||||
Reference in New Issue
Block a user