uptime-kuma/db/knex_migrations
Andreas Brett 42bf27fe5a
push monitor: increase token security ()
* increased pushToken security

* Merge manually

---------

Co-authored-by: Andreas Brett <github@abrett.de>
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
2023-10-11 19:28:06 +08:00
..
2023-08-16-0000-create-uptime.js Uptime calculation improvement and 1-year uptime () 2023-09-01 05:19:21 +08:00
2023-08-18-0301-heartbeat.js Uptime calculation improvement and 1-year uptime () 2023-09-01 05:19:21 +08:00
2023-10-11-1915-push-token-to-32.js push monitor: increase token security () 2023-10-11 19:28:06 +08:00
README.md Fix few markdownlint warnings () 2023-10-03 05:48:21 +08:00

Info

https://knexjs.org/guide/migrations.html#knexfile-in-other-languages

Basic rules

  • All tables must have a primary key named id
  • Filename format: YYYY-MM-DD-HHMM-patch-name.js
  • Avoid native SQL syntax, use knex methods, because Uptime Kuma supports SQLite and MariaDB.

Template

exports.up = function(knex) {

};

exports.down = function(knex) {

};

// exports.config = { transaction: false };

Example

Filename: 2023-06-30-1348-create-user-and-product.js

exports.up = function(knex) {
  return knex.schema
    .createTable('user', function (table) {
        table.increments('id');
        table.string('first_name', 255).notNullable();
        table.string('last_name', 255).notNullable();
    })
    .createTable('product', function (table) {
        table.increments('id');
        table.decimal('price').notNullable();
        table.string('name', 1000).notNullable();
    }).then(() => {
        knex("products").insert([
            { price: 10, name: "Apple" },
            { price: 20, name: "Orange" },
        ]);
    });
};

exports.down = function(knex) {
  return knex.schema
      .dropTable("product")
      .dropTable("user");
};

https://knexjs.org/guide/migrations.html#transactions-in-migrations