98 lines
3.1 KiB
SQL
98 lines
3.1 KiB
SQL
|
|
-- MokoSuiteBackup 01.41.00 — Multi-remote storage destinations (#97)
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS `#__mokosuitebackup_remotes` (
|
||
|
|
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||
|
|
`profile_id` INT(11) UNSIGNED NOT NULL,
|
||
|
|
`title` VARCHAR(255) NOT NULL DEFAULT '',
|
||
|
|
`type` VARCHAR(20) NOT NULL DEFAULT 'sftp' COMMENT 'sftp, s3, google_drive',
|
||
|
|
`enabled` TINYINT(1) NOT NULL DEFAULT 1,
|
||
|
|
`params` MEDIUMTEXT COMMENT 'JSON: type-specific settings',
|
||
|
|
`ordering` INT(11) NOT NULL DEFAULT 0,
|
||
|
|
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||
|
|
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||
|
|
PRIMARY KEY (`id`),
|
||
|
|
KEY `idx_profile` (`profile_id`),
|
||
|
|
KEY `idx_enabled` (`profile_id`, `enabled`)
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||
|
|
|
||
|
|
-- Migrate existing SFTP remote configs into new table
|
||
|
|
INSERT INTO `#__mokosuitebackup_remotes` (`profile_id`, `title`, `type`, `enabled`, `params`, `ordering`, `created`)
|
||
|
|
SELECT
|
||
|
|
`id`,
|
||
|
|
CONCAT(`title`, ' - SFTP'),
|
||
|
|
'sftp',
|
||
|
|
1,
|
||
|
|
JSON_OBJECT(
|
||
|
|
'host', `sftp_host`,
|
||
|
|
'port', `sftp_port`,
|
||
|
|
'username', `sftp_username`,
|
||
|
|
'auth_type', `sftp_auth_type`,
|
||
|
|
'password', `sftp_password`,
|
||
|
|
'key_data', COALESCE(`sftp_key_data`, ''),
|
||
|
|
'passphrase', `sftp_passphrase`,
|
||
|
|
'path', `sftp_path`
|
||
|
|
),
|
||
|
|
1,
|
||
|
|
NOW()
|
||
|
|
FROM `#__mokosuitebackup_profiles`
|
||
|
|
WHERE `remote_storage` = 'sftp' AND `sftp_host` != '';
|
||
|
|
|
||
|
|
-- Migrate existing S3 remote configs into new table
|
||
|
|
INSERT INTO `#__mokosuitebackup_remotes` (`profile_id`, `title`, `type`, `enabled`, `params`, `ordering`, `created`)
|
||
|
|
SELECT
|
||
|
|
`id`,
|
||
|
|
CONCAT(`title`, ' - S3'),
|
||
|
|
's3',
|
||
|
|
1,
|
||
|
|
JSON_OBJECT(
|
||
|
|
'endpoint', `s3_endpoint`,
|
||
|
|
'region', `s3_region`,
|
||
|
|
'access_key', `s3_access_key`,
|
||
|
|
'secret_key', `s3_secret_key`,
|
||
|
|
'bucket', `s3_bucket`,
|
||
|
|
'path', `s3_path`
|
||
|
|
),
|
||
|
|
1,
|
||
|
|
NOW()
|
||
|
|
FROM `#__mokosuitebackup_profiles`
|
||
|
|
WHERE `remote_storage` = 's3' AND `s3_bucket` != '';
|
||
|
|
|
||
|
|
-- Migrate existing Google Drive remote configs into new table
|
||
|
|
INSERT INTO `#__mokosuitebackup_remotes` (`profile_id`, `title`, `type`, `enabled`, `params`, `ordering`, `created`)
|
||
|
|
SELECT
|
||
|
|
`id`,
|
||
|
|
CONCAT(`title`, ' - Google Drive'),
|
||
|
|
'google_drive',
|
||
|
|
1,
|
||
|
|
JSON_OBJECT(
|
||
|
|
'client_id', `gdrive_client_id`,
|
||
|
|
'client_secret', `gdrive_client_secret`,
|
||
|
|
'refresh_token', `gdrive_refresh_token`,
|
||
|
|
'folder_id', `gdrive_folder_id`
|
||
|
|
),
|
||
|
|
1,
|
||
|
|
NOW()
|
||
|
|
FROM `#__mokosuitebackup_profiles`
|
||
|
|
WHERE `remote_storage` = 'google_drive' AND `gdrive_client_id` != '';
|
||
|
|
|
||
|
|
-- Migrate existing FTP remote configs into new table
|
||
|
|
INSERT INTO `#__mokosuitebackup_remotes` (`profile_id`, `title`, `type`, `enabled`, `params`, `ordering`, `created`)
|
||
|
|
SELECT
|
||
|
|
`id`,
|
||
|
|
CONCAT(`title`, ' - FTP'),
|
||
|
|
'ftp',
|
||
|
|
1,
|
||
|
|
JSON_OBJECT(
|
||
|
|
'host', `ftp_host`,
|
||
|
|
'port', `ftp_port`,
|
||
|
|
'username', `ftp_username`,
|
||
|
|
'password', `ftp_password`,
|
||
|
|
'path', `ftp_path`,
|
||
|
|
'passive', `ftp_passive`,
|
||
|
|
'ssl', `ftp_ssl`
|
||
|
|
),
|
||
|
|
1,
|
||
|
|
NOW()
|
||
|
|
FROM `#__mokosuitebackup_profiles`
|
||
|
|
WHERE `remote_storage` = 'ftp' AND `ftp_host` != '';
|