Files
duplicati/Duplicati/GUI/Database schema/4. Support for setting controls.sql
T
kenneth.skovhede@gmail.com a40f6acf37 A fairly large refactoring of the code.
This was based on the idea that the interfaces should remain static.
I hope this change is enough to ensure stable interfaces until release 1.2.

Overview of changes:
Moved all interfaces into the same dll.
Encryption and compression is now plugable modules, just as the backends.
Encryption/compression can now register an UI.
Encryption now uses AESCrypt as a default.
GPG does not default to using the --armor option.
Added support for generic modules, but none are written yet.
Added support for plugable settings pages in the "Options" dialog.

Fixed issue #148.
Duplicati now uses AESCrypt as the default encryption format.

Fixed issue #199.
GPG now supports custom commandline options.

Fixed issue #207.
Encryption modules are now plugable.

Fixed issue #118.
S3 credentials are now stored.

Fixed issue #151.
Backends can now register system wide options.


git-svn-id: https://duplicati.googlecode.com/svn/trunk@427 59da171f-624f-0410-aa54-27559c288bec
2010-06-19 21:08:21 +00:00

66 lines
2.8 KiB
SQL

-- Refactor the GPGEncryption column to now use EncryptionModule instead
ALTER TABLE "Task" ADD COLUMN "EncryptionModule" TEXT NULL;
ALTER TABLE "Task" ADD COLUMN "CompressionModule" TEXT NULL;
UPDATE "Task" SET "EncryptionModule"="aes";
UPDATE "Task" SET "EncryptionModule"="gpg" WHERE "GPGEncryption" = 1;
-- Create a reduced Task table
CREATE TABLE "TempTask" (
"ID" INTEGER PRIMARY KEY,
"ScheduleID" INTEGER NULL,
"Service" TEXT NULL,
"Encryptionkey" TEXT NULL,
"Signaturekey" TEXT NULL,
"SourcePath" TEXT NULL,
"KeepFull" INTEGER NULL,
"KeepTime" TEXT NULL,
"FullAfter" TEXT NULL,
"EncryptionModule" TEXT NULL,
"CompressionModule" TEXT NULL,
"IncludeSetup" BOOLEAN NULL
);
INSERT INTO TempTask ([ID], [ScheduleID], [Service], [EncryptionKey], [SignatureKey], [SourcePath], [KeepFull], [KeepTime], [FullAfter], [EncryptionModule], [CompressionModule], [IncludeSetup]) SELECT [ID], [ScheduleID], [Service], [EncryptionKey], [SignatureKey], [SourcePath], [KeepFull], [KeepTime], [FullAfter], [EncryptionModule], [CompressionModule], [IncludeSetup] FROM Task;
DROP TABLE "Task";
ALTER TABLE "TempTask" RENAME TO "Task";
-- SettingExtension is now supported
CREATE TABLE "SettingExtension" (
"ID" INTEGER PRIMARY KEY,
"SettingKey" TEXT NULL,
"Name" TEXT NULL,
"Value" TEXT NULL
);
-- Add the compression setting table
CREATE TABLE "CompressionSetting" (
"ID" INTEGER PRIMARY KEY,
"TaskID" INTEGER NULL,
"Name" TEXT NULL,
"Value" TEXT NULL
);
-- Add the encryption setting table
CREATE TABLE "EncryptionSetting" (
"ID" INTEGER PRIMARY KEY,
"TaskID" INTEGER NULL,
"Name" TEXT NULL,
"Value" TEXT NULL
);
-- Use the GPG indicator to set the compression module value
UPDATE "ApplicationSetting" SET [Name] = "Encryption module used with common password" WHERE [Name] LIKE "Use PGP with common password";
UPDATE "ApplicationSetting" SET [Value] = "aes" WHERE [Name] LIKE "Encryption module used with common password" AND [Value] LIKE "False";
UPDATE "ApplicationSetting" SET [Value] = "gpg" WHERE [Name] LIKE "Encryption module used with common password" AND [Value] LIKE "True";
-- Move the SFTP path into the controls settings, instead of the application settings
INSERT INTO "SettingExtension" ([SettingKey], [Name], [Value]) SELECT "ssh-settings", [Name], [Value] FROM "ApplicationSetting" WHERE [Name] LIKE "SFTP Path";
DELETE FROM "ApplicationSetting" WHERE [Name] LIKE "SFTP Path";
-- Move the GPG path into the controls settings, instead of the application settings, fixing the PGP -> GPG mistake on the way
INSERT INTO "SettingExtension" ([SettingKey], [Name], [Value]) SELECT "gpg-settings", "GPG Path", [Value] FROM "ApplicationSetting" WHERE [Name] LIKE "PGP Path";
DELETE FROM "ApplicationSetting" WHERE [Name] LIKE "PGP Path";
VACUUM;