diff --git a/migrations/20240830234355_api_keys.js b/migrations/20240830234355_api_keys.js new file mode 100644 index 00000000..b649930f --- /dev/null +++ b/migrations/20240830234355_api_keys.js @@ -0,0 +1,28 @@ +exports.up = async (knex) => { + await knex.schema.createTable('users_keys', (table) => { + table.increments('id'); + + table.integer('user_id') + .notNullable() + .references('id') + .inTable('users'); + + table.text('key') + .notNullable(); + + table.string('identifier'); + + table.unique(['user_id', 'identifier']); + + table.datetime('last_used_at'); + table.specificType('last_used_ip', 'inet'); + + table.datetime('created_at') + .notNullable() + .defaultTo(knex.fn.now()); + }); +}; + +exports.down = async (knex) => { + await knex.schema.dropTable('users_keys'); +};