From 53a90347ca36601e1407d51d39551c73e822ea3b Mon Sep 17 00:00:00 2001
From: LouisLam <louislam@users.noreply.github.com>
Date: Wed, 28 Jul 2021 23:26:27 +0800
Subject: [PATCH] update database schema, add upside_down and ignore_tls

---
 db/patch4.sql      | 37 +++++++++++++++++++++++++++++++++++++
 server/database.js |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 db/patch4.sql

diff --git a/db/patch4.sql b/db/patch4.sql
new file mode 100644
index 000000000..66f93596e
--- /dev/null
+++ b/db/patch4.sql
@@ -0,0 +1,37 @@
+-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
+PRAGMA foreign_keys=off;
+
+BEGIN TRANSACTION;
+
+create table monitor_dg_tmp
+(
+    id INTEGER not null
+        primary key autoincrement,
+    name VARCHAR(150),
+    active BOOLEAN default 1 not null,
+    user_id INTEGER
+        references user
+                   on update cascade on delete set null,
+    interval INTEGER default 20 not null,
+    url TEXT,
+    type VARCHAR(20),
+    weight INTEGER default 2000,
+    hostname VARCHAR(255),
+    port INTEGER,
+    created_date DATETIME,
+    keyword VARCHAR(255),
+    ignore_tls BOOLEAN default 0 not null,
+    upside_down BOOLEAN default 0 not null
+);
+
+insert into monitor_dg_tmp(id, name, active, user_id, interval, url, type, weight, hostname, port, created_date, keyword) select id, name, active, user_id, interval, url, type, weight, hostname, port, created_date, keyword from monitor;
+
+drop table monitor;
+
+alter table monitor_dg_tmp rename to monitor;
+
+create index user_id on monitor (user_id);
+
+COMMIT;
+
+PRAGMA foreign_keys=on;
diff --git a/server/database.js b/server/database.js
index ec8b8fdf6..e386543a8 100644
--- a/server/database.js
+++ b/server/database.js
@@ -8,7 +8,7 @@ class Database {
 
     static templatePath = "./db/kuma.db"
     static path = "./data/kuma.db";
-    static latestVersion = 3;
+    static latestVersion = 4;
     static noReject = true;
 
     static async patch() {