summaryrefslogtreecommitdiffstats
path: root/db/knex_migrations/2023-12-22-0000-hourly-uptime.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2024-11-26 09:28:28 +0100
committerDaniel Baumann <daniel@debian.org>2024-11-26 12:25:58 +0100
commita1882b67c41fe9901a0cd8059b5cc78a5beadec0 (patch)
tree2a24507c67aa99a15416707b2f7e645142230ed8 /db/knex_migrations/2023-12-22-0000-hourly-uptime.js
parentInitial commit. (diff)
downloaduptime-kuma-a1882b67c41fe9901a0cd8059b5cc78a5beadec0.tar.xz
uptime-kuma-a1882b67c41fe9901a0cd8059b5cc78a5beadec0.zip
Adding upstream version 2.0.0~beta.0+dfsg.upstream/2.0.0_beta.0+dfsgupstream
Signed-off-by: Daniel Baumann <daniel@debian.org>
Diffstat (limited to 'db/knex_migrations/2023-12-22-0000-hourly-uptime.js')
-rw-r--r--db/knex_migrations/2023-12-22-0000-hourly-uptime.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/db/knex_migrations/2023-12-22-0000-hourly-uptime.js b/db/knex_migrations/2023-12-22-0000-hourly-uptime.js
new file mode 100644
index 0000000..4305900
--- /dev/null
+++ b/db/knex_migrations/2023-12-22-0000-hourly-uptime.js
@@ -0,0 +1,26 @@
+exports.up = function (knex) {
+ return knex.schema
+ .createTable("stat_hourly", function (table) {
+ table.increments("id");
+ table.comment("This table contains the hourly aggregate statistics for each monitor");
+ table.integer("monitor_id").unsigned().notNullable()
+ .references("id").inTable("monitor")
+ .onDelete("CASCADE")
+ .onUpdate("CASCADE");
+ table.integer("timestamp")
+ .notNullable()
+ .comment("Unix timestamp rounded down to the nearest hour");
+ table.float("ping").notNullable().comment("Average ping in milliseconds");
+ table.float("ping_min").notNullable().defaultTo(0).comment("Minimum ping during this period in milliseconds");
+ table.float("ping_max").notNullable().defaultTo(0).comment("Maximum ping during this period in milliseconds");
+ table.smallint("up").notNullable();
+ table.smallint("down").notNullable();
+
+ table.unique([ "monitor_id", "timestamp" ]);
+ });
+};
+
+exports.down = function (knex) {
+ return knex.schema
+ .dropTable("stat_hourly");
+};