Files
duplicati/Duplicati/GUI/Database schema/2. Refactor for easier extensions.sql
T
kenneth.skovhede@gmail.com daaef5f092 Fixed issue #39.
Fixed issue #41.
Fixed issue #11.
Refactored the way settings are stored, this means that you cannot go back to a previous version if you have used this one.
A backup of the old database will be created, if you need to use a previous version.
Fixed a bug in the S3 backend where the filenames would be prefixed with a slash.
Moved the file time seperator char out of the file backend, and into common settings.


git-svn-id: https://duplicati.googlecode.com/svn/trunk@134 59da171f-624f-0410-aa54-27559c288bec
2009-03-29 18:06:02 +00:00

57 lines
2.5 KiB
SQL

-- TaskSettings becomes BackendSetting
ALTER TABLE TaskSetting RENAME TO BackendSetting;
-- TaskSetting is now extensions
CREATE TABLE "TaskExtension" (
"ID" INTEGER PRIMARY KEY,
"TaskID" INTEGER NULL,
"Name" TEXT NULL,
"Value" TEXT NULL
);
-- Copy values from the Task table
INSERT INTO TaskExtension ([TaskID], [Name], [Value]) SELECT [ID], 'Max Upload Size', [MaxUploadSize] FROM Task;
INSERT INTO TaskExtension ([TaskID], [Name], [Value]) SELECT [ID], 'Upload bandwidth', [UploadBandwidth] FROM Task;
INSERT INTO TaskExtension ([TaskID], [Name], [Value]) SELECT [ID], 'Download Bandwidth', [DownloadBandwidth] FROM Task;
INSERT INTO TaskExtension ([TaskID], [Name], [Value]) SELECT [ID], 'Volume Size', [VolumeSize] FROM Task;
INSERT INTO TaskExtension ([TaskID], [Name], [Value]) SELECT [ID], 'Thread Priority', [ThreadPriority] FROM Task;
INSERT INTO TaskExtension ([TaskID], [Name], [Value]) SELECT [ID], 'Async Transfer', [AsyncTransfer] FROM Task;
INSERT INTO TaskExtension ([TaskID], [Name], [Value]) SELECT [ID], 'Include Setup', [IncludeSetup] FROM Task;
INSERT INTO TaskExtension ([TaskID], [Name], [Value]) SELECT [ID], 'Ignore Timestamps', [IgnoreTimestamps] FROM Task;
-- Move FileTimeSeperator into extensions
INSERT INTO TaskExtension ([TaskID], [Name], [Value]) SELECT [TaskID], 'File Time Seperator', Value FROM BackendSetting WHERE [Name] = 'TimeSeparator';
DELETE FROM BackendSetting WHERE [Name] = 'TimeSeparator';
-- 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,
"GPGEncryption" BOOLEAN NULL,
"IncludeSetup" BOOLEAN NULL
);
-- Copy values
INSERT INTO TempTask ([ID], [ScheduleID], [Service], [EncryptionKey], [SignatureKey], [SourcePath], [KeepFull], [KeepTime], [FullAfter], [GPGEncryption], [IncludeSetup]) SELECT [ID], [ScheduleID], [Service], [EncryptionKey], [SignatureKey], [SourcePath], [KeepFull], [KeepTime], [FullAfter], [GPGEncryption], [IncludeSetup] FROM Task;
DROP TABLE Task;
-- Use the new reduced table
ALTER TABLE "TempTask" RENAME TO "Task";
-- Add the override table
CREATE TABLE "TaskOverride" (
"ID" INTEGER PRIMARY KEY,
"TaskID" INTEGER NULL,
"Name" TEXT NULL,
"Value" TEXT NULL
);
-- Reduce database size
VACUUM;