]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/cats/update_sqlite_tables.in
- Corrected some typos in the make_xxx_tables.in files.
[bacula/bacula] / bacula / src / cats / update_sqlite_tables.in
1 #!/bin/sh
2 #
3 # shell script to update SQLite from version 1.36 to 1.37.3
4 #
5 echo " "
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."
9 echo " "
10
11 bindir=@SQL_BINDIR@
12 cd @working_dir@
13 sqlite=@DB_NAME@
14
15 ${bindir}/${sqlite} $* bacula.db <<END-OF-DATA
16 BEGIN TRANSACTION;
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    StorageId INTEGER UNSIGNED REFERENCES Storage,
44    MediaAddressing TINYINT DEFAULT 0,
45    VolReadTime BIGINT UNSIGNED DEFAULT 0,
46    VolWriteTime BIGINT UNSIGNED DEFAULT 0,
47    EndFile INTEGER UNSIGNED DEFAULT 0,
48    EndBlock INTEGER UNSIGNED DEFAULT 0,
49    PRIMARY KEY(MediaId)
50    );
51
52 INSERT INTO Media_backup SELECT 
53    MediaId, VolumeName, Slot, PoolId,
54    MediaType, 0, FirstWritten, LastWritten,
55    LabelDate, VolJobs, VolFiles, VolBlocks,
56    VolMounts, VolBytes, 0, VolErrors, VolWrites,
57    VolCapacityBytes, VolStatus, Recycle,
58    VolRetention, VolUseDuration, MaxVolJobs,
59    MaxVolFiles, MaxVolBytes, InChanger, 0, MediaAddressing,
60    VolReadTime, VolWriteTime, EndFile, EndBlock
61    FROM Media;
62
63
64 DROP TABLE Media;
65
66 CREATE TABLE Media (
67    MediaId INTEGER UNSIGNED AUTOINCREMENT,
68    VolumeName VARCHAR(128) NOT NULL,
69    Slot INTEGER DEFAULT 0,
70    PoolId INTEGER UNSIGNED REFERENCES Pool NOT NULL,
71    MediaType VARCHAR(128) NOT NULL,
72    LabelType TINYINT DEFAULT 0,
73    FirstWritten DATETIME DEFAULT 0,
74    LastWritten DATETIME DEFAULT 0,
75    LabelDate DATETIME DEFAULT 0,
76    VolJobs INTEGER UNSIGNED DEFAULT 0,
77    VolFiles INTEGER UNSIGNED DEFAULT 0,
78    VolBlocks INTEGER UNSIGNED DEFAULT 0,
79    VolMounts INTEGER UNSIGNED DEFAULT 0,
80    VolBytes BIGINT UNSIGNED DEFAULT 0,
81    VolParts INTEGER UNSIGNED DEFAULT 0,
82    VolErrors INTEGER UNSIGNED DEFAULT 0,
83    VolWrites INTEGER UNSIGNED DEFAULT 0,
84    VolCapacityBytes BIGINT UNSIGNED DEFAULT 0,
85    VolStatus VARCHAR(20) NOT NULL,
86    Recycle TINYINT DEFAULT 0,
87    VolRetention BIGINT UNSIGNED DEFAULT 0,
88    VolUseDuration BIGINT UNSIGNED DEFAULT 0,
89    MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
90    MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
91    MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
92    InChanger TINYINT DEFAULT 0,
93    StorageId INTEGER UNSIGNED REFERENCES Storage,
94    MediaAddressing TINYINT DEFAULT 0,
95    VolReadTime BIGINT UNSIGNED DEFAULT 0,
96    VolWriteTime BIGINT UNSIGNED DEFAULT 0,
97    EndFile INTEGER UNSIGNED DEFAULT 0,
98    EndBlock INTEGER UNSIGNED DEFAULT 0,
99    PRIMARY KEY(MediaId)
100    );
101
102 INSERT INTO Media (
103    MediaId, VolumeName, Slot, PoolId,
104    MediaType, FirstWritten, LastWritten,
105    LabelDate, VolJobs, VolFiles, VolBlocks,
106    VolMounts, VolBytes, VolParts, VolErrors, VolWrites,
107    VolCapacityBytes, VolStatus, Recycle,
108    VolRetention, VolUseDuration, MaxVolJobs,
109    MaxVolFiles, MaxVolBytes,
110    InChanger, StorageId, MediaAddressing,
111    VolReadTime, VolWriteTime,       
112    EndFile, EndBlock)
113    SELECT * FROM Media_backup;
114
115 DROP TABLE Media_backup;
116
117 CREATE TEMPORARY TABLE Pool_backup (
118    PoolId INTEGER,
119    Name VARCHAR(128) NOT NULL,
120    NumVols INTEGER UNSIGNED DEFAULT 0,
121    MaxVols INTEGER UNSIGNED DEFAULT 0,
122    UseOnce TINYINT DEFAULT 0,
123    UseCatalog TINYINT DEFAULT 1,
124    AcceptAnyVolume TINYINT DEFAULT 0,
125    VolRetention BIGINT UNSIGNED DEFAULT 0,
126    VolUseDuration BIGINT UNSIGNED DEFAULT 0,
127    MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
128    MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
129    MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
130    AutoPrune TINYINT DEFAULT 0,
131    Recycle TINYINT DEFAULT 0,
132    PoolType VARCHAR(20) NOT NULL,
133    LabelType TINYINT DEFAULT 0,
134    LabelFormat VARCHAR(128) NOT NULL,
135    Enabled TINYINT DEFAULT 1,
136    ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
137    RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
138    NextPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
139    MigrationHighBytes BIGINT UNSIGNED DEFAULT 0,
140    MigrationLowBytes BIGINT UNSIGNED DEFAULT 0,
141    MigrationTime BIGINT UNSIGNED DEFAULT 0,
142    UNIQUE (Name),
143    PRIMARY KEY (PoolId)
144    );
145
146 INSERT INTO Pool_backup SELECT 
147    PoolId, Name, NumVols, MaxVols,
148    UseOnce, UseCatalog, AcceptAnyVolume,
149    VolRetention, VolUseDuration, MaxVolJobs,
150    MaxVolFiles, MaxVolBytes, AutoPrune,
151    Recycle, PoolType, 0, LabelFormat,
152    Enabled, ScratchPoolId, RecyclePoolId,
153    0, 0, 0, 0
154    FROM Pool;
155
156 DROP TABLE Pool;
157
158 CREATE TABLE Pool (
159    PoolId INTEGER,
160    Name VARCHAR(128) NOT NULL,
161    NumVols INTEGER UNSIGNED DEFAULT 0,
162    MaxVols INTEGER UNSIGNED DEFAULT 0,
163    UseOnce TINYINT DEFAULT 0,
164    UseCatalog TINYINT DEFAULT 1,
165    AcceptAnyVolume TINYINT DEFAULT 0,
166    VolRetention BIGINT UNSIGNED DEFAULT 0,
167    VolUseDuration BIGINT UNSIGNED DEFAULT 0,
168    MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
169    MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
170    MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
171    AutoPrune TINYINT DEFAULT 0,
172    Recycle TINYINT DEFAULT 0,
173    PoolType VARCHAR(20) NOT NULL,
174    LabelType TINYINT DEFAULT 0,
175    LabelFormat VARCHAR(128) NOT NULL,
176    Enabled TINYINT DEFAULT 1,
177    ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
178    RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
179    NextPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
180    MigrationHighBytes BIGINT UNSIGNED DEFAULT 0,
181    MigrationLowBytes BIGINT UNSIGNED DEFAULT 0,
182    MigrationTime BIGINT UNSIGNED DEFAULT 0,
183    UNIQUE (Name),
184    PRIMARY KEY (PoolId)
185    );
186
187 INSERT INTO Pool (
188    PoolId, Name, NumVols, MaxVols,
189    UseOnce, UseCatalog, AcceptAnyVolume,
190    VolRetention, VolUseDuration, MaxVolJobs,
191    MaxVolFiles, MaxVolBytes, AutoPrune,
192    Recycle, PoolType, LabelType, LabelFormat,
193    Enabled, ScratchPoolId, RecyclePoolId,
194    NextPoolId, MigrationHighBytes, 
195    MigrationLowBytes, MigrationTime )
196    SELECT * FROM Pool_backup;
197
198 DROP TABLE Pool_backup;
199
200 CREATE TABLE MediaType (
201    MediaTypeId INTEGER,
202    MediaType VARCHAR(128) NOT NULL,
203    ReadOnly TINYINT DEFAULT 0,
204    PRIMARY KEY(MediaTypeId)
205    );
206
207 CREATE TABLE Storage (
208    StorageId INTEGER,
209    Name VARCHAR(128) NOT NULL,
210    AutoChanger TINYINT DEFAULT 0,
211    PRIMARY KEY(StorageId)
212    );
213
214 CREATE TABLE Device (
215    DeviceId INTEGER,
216    Name VARCHAR(128) NOT NULL,
217    MediaTypeId INTEGER UNSIGNED REFERENCES MediaType NOT NULL,
218    StorageId INTEGER UNSIGNED REFERENCES Storage,
219    DevMounts INTEGER UNSIGNED DEFAULT 0,
220    DevReadBytes BIGINT UNSIGNED DEFAULT 0,
221    DevWriteBytes BIGINT UNSIGNED DEFAULT 0,
222    DevReadBytesSinceCleaning BIGINT UNSIGNED DEFAULT 0,
223    DevWriteBytesSinceCleaning BIGINT UNSIGNED DEFAULT 0,
224    DevReadTime BIGINT UNSIGNED DEFAULT 0,
225    DevWriteTime BIGINT UNSIGNED DEFAULT 0,
226    DevReadTimeSinceCleaning BIGINT UNSIGNED DEFAULT 0,
227    DevWriteTimeSinceCleaning BIGINT UNSIGNED DEFAULT 0,
228    CleaningDate DATETIME DEFAULT 0,
229    CleaningPeriod BIGINT UNSIGNED DEFAULT 0,
230    PRIMARY KEY(DeviceId)
231    );
232
233
234 COMMIT;
235
236 END-OF-DATA