You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
1.2 KiB
27 lines
1.2 KiB
11 months ago
|
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");
|
||
|
};
|