diff --git a/migrations/20180131152200-domains-add-tlsConfigJson.js b/migrations/20180131152200-domains-add-tlsConfigJson.js new file mode 100644 index 000000000..f0b2cdf17 --- /dev/null +++ b/migrations/20180131152200-domains-add-tlsConfigJson.js @@ -0,0 +1,25 @@ +'use strict'; + +var async = require('async'); + +exports.up = function(db, callback) { + db.all('SELECT * FROM settings WHERE name = ?', [ 'tls_config' ], function (error, result) { + if (error) return callback(error); + + var tlsConfigJson = (result[0] && result[0].value) ? result[0].value : JSON.stringify({ provider: 'letsencrypt-prod'}); + + async.series([ + db.runSql.bind(db, 'START TRANSACTION;'), + db.runSql.bind(db, 'ALTER TABLE domains ADD COLUMN tlsConfigJson TEXT'), + db.runSql.bind(db, 'UPDATE domains SET tlsConfigJson = ?', [ tlsConfigJson ]), + db.runSql.bind(db, 'COMMIT') + ], callback); + }); +}; + +exports.down = function(db, callback) { + db.runSql('ALTER TABLE domains DROP COLUMN tlsConfigJson', function (error) { + if (error) console.error(error); + callback(error); + }); +}; diff --git a/migrations/schema.sql b/migrations/schema.sql index a317b6fa3..c43afff35 100644 --- a/migrations/schema.sql +++ b/migrations/schema.sql @@ -154,6 +154,7 @@ CREATE TABLE IF NOT EXISTS domains( zoneName VARCHAR(128) NOT NULL, /* this mostly contains the domain itself again */ provider VARCHAR(16) NOT NULL, configJson TEXT, /* JSON containing the dns backend provider config */ + tlsConfigJson TEXT, /* JSON containing the tls provider config */ PRIMARY KEY (domain))