archives: use separate table
Cleaner to separate things from the backups table. * icon, appConfig, appStoreIcon etc are only valid for archives * older version cloudron does not have appConfig in backups table (so it cannot be an archive entry)
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
'use strict';
|
||||
|
||||
exports.up = async function (db) {
|
||||
const cmd = 'CREATE TABLE archives(' +
|
||||
'id VARCHAR(128) NOT NULL UNIQUE,' +
|
||||
'backupId VARCHAR(128) NOT NULL,' +
|
||||
'creationTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,' +
|
||||
'appStoreIcon MEDIUMBLOB,' +
|
||||
'icon MEDIUMBLOB,' +
|
||||
'appConfigJson TEXT,' +
|
||||
'FOREIGN KEY(backupId) REFERENCES backups(id),' +
|
||||
'PRIMARY KEY (id)) ' +
|
||||
'CHARACTER SET utf8 COLLATE utf8_bin';
|
||||
|
||||
await db.runSql(cmd);
|
||||
};
|
||||
|
||||
exports.down = async function (db) {
|
||||
await db.runSql('DROP TABLE archives');
|
||||
};
|
||||
@@ -1,16 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
exports.up = async function(db) {
|
||||
await db.runSql('ALTER TABLE backups ADD COLUMN archive BOOLEAN DEFAULT 0');
|
||||
await db.runSql('ALTER TABLE backups ADD COLUMN icon MEDIUMBLOB');
|
||||
await db.runSql('ALTER TABLE backups ADD COLUMN appStoreIcon MEDIUMBLOB');
|
||||
await db.runSql('ALTER TABLE backups ADD COLUMN appConfigJson TEXT');
|
||||
};
|
||||
|
||||
exports.down = async function(db) {
|
||||
await db.runSql('ALTER TABLE backups DROP COLUMN archive');
|
||||
await db.runSql('ALTER TABLE backups DROP COLUMN icon');
|
||||
await db.runSql('ALTER TABLE backups DROP COLUMN appStoreIcon');
|
||||
await db.runSql('ALTER TABLE backups DROP COLUMN appConfigJson');
|
||||
};
|
||||
|
||||
+11
-4
@@ -156,14 +156,21 @@ CREATE TABLE IF NOT EXISTS backups(
|
||||
manifestJson TEXT, /* to validate if the app can be installed in this version of box */
|
||||
format VARCHAR(16) DEFAULT "tgz",
|
||||
preserveSecs INTEGER DEFAULT 0,
|
||||
archive BOOLEAN DEFAULT 0,
|
||||
appStoreIcon MEDIUMBLOB, /* only valid with archive */
|
||||
icon MEDIUMBLOB, /* only valid with archive */
|
||||
appConfigJson TEXT, /* only valid with archive */
|
||||
|
||||
INDEX creationTime_index (creationTime),
|
||||
PRIMARY KEY (id));
|
||||
|
||||
CREATE TABLE IF NOT EXISTS archives(
|
||||
id VARCHAR(128) NOT NULL UNIQUE,
|
||||
backupId VARCHAR(128) NOT NULL,
|
||||
creationTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
appStoreIcon MEDIUMBLOB,
|
||||
icon MEDIUMBLOB,
|
||||
appConfigJson TEXT,
|
||||
|
||||
FOREIGN KEY(backupId) REFERENCES backups(id),
|
||||
PRIMARY KEY (id));
|
||||
|
||||
CREATE TABLE IF NOT EXISTS eventlog(
|
||||
id VARCHAR(128) NOT NULL,
|
||||
action VARCHAR(128) NOT NULL,
|
||||
|
||||
Reference in New Issue
Block a user