3 # shell script to update SQLite from version 1.36 to 1.37.3
6 echo "This script will update a Bacula SQLite database from version 8 to 9"
7 echo "Depending on the size of your database,"
8 echo "this script may take several minutes to run."
15 ${bindir}/${sqlite} $* bacula.db <<END-OF-DATA
17 CREATE TEMPORARY TABLE Media_backup (
18 MediaId INTEGER UNSIGNED AUTOINCREMENT,
19 VolumeName VARCHAR(128) NOT NULL,
20 Slot INTEGER DEFAULT 0,
21 PoolId INTEGER UNSIGNED REFERENCES Pool NOT NULL,
22 MediaType VARCHAR(128) NOT NULL,
23 FirstWritten DATETIME DEFAULT 0,
24 LastWritten DATETIME DEFAULT 0,
25 LabelDate DATETIME DEFAULT 0,
26 VolJobs INTEGER UNSIGNED DEFAULT 0,
27 VolFiles INTEGER UNSIGNED DEFAULT 0,
28 VolBlocks INTEGER UNSIGNED DEFAULT 0,
29 VolMounts INTEGER UNSIGNED DEFAULT 0,
30 VolBytes BIGINT UNSIGNED DEFAULT 0,
31 VolParts INTEGER UNSIGNED DEFAULT 0,
32 VolErrors INTEGER UNSIGNED DEFAULT 0,
33 VolWrites INTEGER UNSIGNED DEFAULT 0,
34 VolCapacityBytes BIGINT UNSIGNED DEFAULT 0,
35 VolStatus VARCHAR(20) NOT NULL,
36 Recycle TINYINT DEFAULT 0,
37 VolRetention BIGINT UNSIGNED DEFAULT 0,
38 VolUseDuration BIGINT UNSIGNED DEFAULT 0,
39 MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
40 MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
41 MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
42 InChanger TINYINT DEFAULT 0,
43 MediaAddressing TINYINT DEFAULT 0,
44 VolReadTime BIGINT UNSIGNED DEFAULT 0,
45 VolWriteTime BIGINT UNSIGNED DEFAULT 0,
46 EndFile INTEGER UNSIGNED DEFAULT 0,
47 EndBlock INTEGER UNSIGNED DEFAULT 0,
51 INSERT INTO Media_backup SELECT
52 MediaId, VolumeName, Slot, PoolId,
53 MediaType, 0, FirstWritten, LastWritten,
54 LabelDate, VolJobs, VolFiles, VolBlocks,
55 VolMounts, VolBytes, 0, VolErrors, VolWrites,
56 VolCapacityBytes, VolStatus, Recycle,
57 VolRetention, VolUseDuration, MaxVolJobs,
58 MaxVolFiles, MaxVolBytes, InChanger, MediaAddressing,
59 VolReadTime, VolWriteTime, EndFile, EndBlock
66 MediaId INTEGER UNSIGNED AUTOINCREMENT,
67 VolumeName VARCHAR(128) NOT NULL,
68 Slot INTEGER DEFAULT 0,
69 PoolId INTEGER UNSIGNED REFERENCES Pool NOT NULL,
70 MediaType VARCHAR(128) NOT NULL,
71 LabelType TINYINT DEFAULT 0,
72 FirstWritten DATETIME DEFAULT 0,
73 LastWritten DATETIME DEFAULT 0,
74 LabelDate DATETIME DEFAULT 0,
75 VolJobs INTEGER UNSIGNED DEFAULT 0,
76 VolFiles INTEGER UNSIGNED DEFAULT 0,
77 VolBlocks INTEGER UNSIGNED DEFAULT 0,
78 VolMounts INTEGER UNSIGNED DEFAULT 0,
79 VolBytes BIGINT UNSIGNED DEFAULT 0,
80 VolParts INTEGER UNSIGNED DEFAULT 0,
81 VolErrors INTEGER UNSIGNED DEFAULT 0,
82 VolWrites INTEGER UNSIGNED DEFAULT 0,
83 VolCapacityBytes BIGINT UNSIGNED DEFAULT 0,
84 VolStatus VARCHAR(20) NOT NULL,
85 Recycle TINYINT DEFAULT 0,
86 VolRetention BIGINT UNSIGNED DEFAULT 0,
87 VolUseDuration BIGINT UNSIGNED DEFAULT 0,
88 MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
89 MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
90 MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
91 InChanger TINYINT DEFAULT 0,
92 MediaAddressing TINYINT DEFAULT 0,
93 VolReadTime BIGINT UNSIGNED DEFAULT 0,
94 VolWriteTime BIGINT UNSIGNED DEFAULT 0,
95 EndFile INTEGER UNSIGNED DEFAULT 0,
96 EndBlock INTEGER UNSIGNED DEFAULT 0,
101 MediaId, VolumeName, Slot, PoolId,
102 MediaType, FirstWritten, LastWritten,
103 LabelDate, VolJobs, VolFiles, VolBlocks,
104 VolMounts, VolBytes, VolParts, VolErrors, VolWrites,
105 VolCapacityBytes, VolStatus, Recycle,
106 VolRetention, VolUseDuration, MaxVolJobs,
107 MaxVolFiles, MaxVolBytes,
108 InChanger, MediaAddressing,
109 VolReadTime, VolWriteTime,
111 SELECT * FROM Media_backup;
113 DROP TABLE Media_backup;
115 CREATE TEMPORARY TABLE Pool_backup (
117 Name VARCHAR(128) NOT NULL,
118 NumVols INTEGER UNSIGNED DEFAULT 0,
119 MaxVols INTEGER UNSIGNED DEFAULT 0,
120 UseOnce TINYINT DEFAULT 0,
121 UseCatalog TINYINT DEFAULT 1,
122 AcceptAnyVolume TINYINT DEFAULT 0,
123 VolRetention BIGINT UNSIGNED DEFAULT 0,
124 VolUseDuration BIGINT UNSIGNED DEFAULT 0,
125 MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
126 MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
127 MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
128 AutoPrune TINYINT DEFAULT 0,
129 Recycle TINYINT DEFAULT 0,
130 PoolType VARCHAR(20) NOT NULL,
131 LabelType TINYINT DEFAULT 0,
132 LabelFormat VARCHAR(128) NOT NULL,
133 Enabled TINYINT DEFAULT 1,
134 ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
135 RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
140 INSERT INTO Pool_backup SELECT
141 PoolId, Name, NumVols, MaxVols,
142 UseOnce, UseCatalog, AcceptAnyVolume,
143 VolRetention, VolUseDuration, MaxVolJobs,
144 MaxVolFiles, MaxVolBytes, AutoPrune,
145 Recycle, PoolType, 0, LabelFormat,
146 Enabled, ScratchPoolId, RecyclePoolId
153 Name VARCHAR(128) NOT NULL,
154 NumVols INTEGER UNSIGNED DEFAULT 0,
155 MaxVols INTEGER UNSIGNED DEFAULT 0,
156 UseOnce TINYINT DEFAULT 0,
157 UseCatalog TINYINT DEFAULT 1,
158 AcceptAnyVolume TINYINT DEFAULT 0,
159 VolRetention BIGINT UNSIGNED DEFAULT 0,
160 VolUseDuration BIGINT UNSIGNED DEFAULT 0,
161 MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
162 MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
163 MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
164 AutoPrune TINYINT DEFAULT 0,
165 Recycle TINYINT DEFAULT 0,
166 PoolType VARCHAR(20) NOT NULL,
167 LabelType TINYINT DEFAULT 0,
168 LabelFormat VARCHAR(128) NOT NULL,
169 Enabled TINYINT DEFAULT 1,
170 ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
171 RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
177 PoolId, Name, NumVols, MaxVols,
178 UseOnce, UseCatalog, AcceptAnyVolume,
179 VolRetention, VolUseDuration, MaxVolJobs,
180 MaxVolFiles, MaxVolBytes, AutoPrune,
181 Recycle, PoolType, LabelType, LabelFormat,
182 Enabled, ScratchPoolId, RecyclePoolId )
183 SELECT * FROM Pool_backup;
185 DROP TABLE Pool_backup;
187 CREATE TABLE MediaType (
188 MediaTypeId INTERGER,
189 MediaType VARCHAR(128) NOT NULL,
190 ReadOnly TINYINT DEFAULT 0,
191 PRIMARY KEY(MediaTypeId)
194 CREATE TABLE Device (
196 Name VARCHAR(128) NOT NULL,
197 MediaTypeId INTEGER UNSIGNED REFERENCES MediaType NOT NULL,
198 StorageId INTEGER UNSIGNED REFERENCES Storage,
199 DevMounts INTEGER UNSIGNED DEFAULT 0,
200 DevReadBytes BIGINT UNSIGNED DEFAULT 0,
201 DevWriteBytes BIGINT UNSIGNED DEFAULT 0,
202 DevReadBytesSinceCleaning BIGINT UNSIGNED DEFAULT 0,
203 DevWriteBytesSinceCleaning BIGINT UNSIGNED DEFAULT 0,
204 DevReadTime BIGINT UNSIGNED DEFAULT 0,
205 DevWriteTime BIGINT UNSIGNED DEFAULT 0,
206 DevReadTimeSinceCleaning BIGINT UNSIGNED DEFAULT 0,
207 DevWriteTimeSinceCleaning BIGINT UNSIGNED DEFAULT 0,
208 CleaningDate DATETIME DEFAULT 0,
209 CleaningPeriod BIGINT UNSIGNED DEFAULT 0,
210 PRIMARY KEY(DeviceId)
213 CREATE TABLE Storage (
215 Name VARCHAR(128) NOT NULL,
216 AutoChanger TINYINT DEFAULT 0,
217 PRIMARY KEY(StorageId)