-- 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` != '';