从现有站点恢复重命名为从指定站点恢复
This commit is contained in:
parent
da3f814451
commit
057d8164f5
@ -45,7 +45,7 @@ function getSiteActionHandler(action) {
|
|||||||
'使用文件恢复': defineAsyncComponent(() =>
|
'使用文件恢复': defineAsyncComponent(() =>
|
||||||
import('./SiteDatabaseRestoreDialog.vue')
|
import('./SiteDatabaseRestoreDialog.vue')
|
||||||
),
|
),
|
||||||
'从现有站点恢复': defineAsyncComponent(() =>
|
'从指定站点恢复': defineAsyncComponent(() =>
|
||||||
import('./site/SiteDatabaseRestoreFromURLDialog.vue')
|
import('./site/SiteDatabaseRestoreFromURLDialog.vue')
|
||||||
),
|
),
|
||||||
'管理数据库用户': defineAsyncComponent(() =>
|
'管理数据库用户': defineAsyncComponent(() =>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<Dialog
|
<Dialog
|
||||||
:options="{
|
:options="{
|
||||||
title: '从现有站点恢复'
|
title: '从指定站点恢复'
|
||||||
}"
|
}"
|
||||||
v-model="showRestoreDialog"
|
v-model="showRestoreDialog"
|
||||||
>
|
>
|
||||||
@ -144,12 +144,44 @@ export default {
|
|||||||
if (!this.$resources.getBackupLinks.data) return '';
|
if (!this.$resources.getBackupLinks.data) return '';
|
||||||
|
|
||||||
let backup = this.$resources.getBackupLinks.data[0];
|
let backup = this.$resources.getBackupLinks.data[0];
|
||||||
let timestamp_string = backup.file_name
|
if (!backup || !backup.file_name) return '';
|
||||||
.split('-')[0]
|
|
||||||
.split('_')
|
|
||||||
.join('T');
|
|
||||||
|
|
||||||
return date(timestamp_string);
|
let timestamp_string = '';
|
||||||
|
|
||||||
|
// 尝试匹配 YYYYMMDD_HHMMSS 格式(实际格式)
|
||||||
|
let timestampMatch = backup.file_name.match(/(\d{8}_\d{6})/);
|
||||||
|
if (timestampMatch) {
|
||||||
|
let match = timestampMatch[1];
|
||||||
|
let year = match.substring(0, 4);
|
||||||
|
let month = match.substring(4, 6);
|
||||||
|
let day = match.substring(6, 8);
|
||||||
|
let hour = match.substring(9, 11);
|
||||||
|
let minute = match.substring(11, 13);
|
||||||
|
let second = match.substring(13, 15);
|
||||||
|
timestamp_string = `${year}-${month}-${day}T${hour}:${minute}:${second}`;
|
||||||
|
} else {
|
||||||
|
// 尝试匹配 YYYY-MM-DD_HH-MM-SS 格式(备用格式)
|
||||||
|
let oldFormatMatch = backup.file_name.match(/(\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2})/);
|
||||||
|
if (oldFormatMatch) {
|
||||||
|
timestamp_string = oldFormatMatch[1].replace('_', 'T').replace(/-/g, '-');
|
||||||
|
} else {
|
||||||
|
// 尝试匹配 YYYY-MM-DD 格式
|
||||||
|
let dateMatch = backup.file_name.match(/(\d{4}-\d{2}-\d{2})/);
|
||||||
|
if (dateMatch) {
|
||||||
|
timestamp_string = dateMatch[1] + 'T00:00:00';
|
||||||
|
} else {
|
||||||
|
// 如果都没有匹配到,返回文件名本身
|
||||||
|
return backup.file_name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
return date(timestamp_string);
|
||||||
|
} catch (e) {
|
||||||
|
// 如果日期解析失败,返回文件名
|
||||||
|
return backup.file_name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -2783,8 +2783,8 @@ class Site(Page, TagHelpers):
|
|||||||
"group": "危险操作",
|
"group": "危险操作",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"action": "从现有站点恢复",
|
"action": "从指定站点恢复",
|
||||||
"description": "从另一个站点恢复数据库、公共和私有文件",
|
"description": "从指定站点的备份文件恢复数据库、公共和私有文件",
|
||||||
"button_label": "恢复",
|
"button_label": "恢复",
|
||||||
"pg_method": "restore_site_from_files",
|
"pg_method": "restore_site_from_files",
|
||||||
"group": "危险操作",
|
"group": "危险操作",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user