exports.up = function (knex) { return knex.schema.createTable("refresh_tokens", (t) => { t.increments("Id"); t.integer("UsuarioId").unsigned().notNullable(); t.string("TokenHash", 64).notNullable().unique(); t.dateTime("ExpiresAt").notNullable(); t.dateTime("RevokedAt").nullable(); t.timestamp("CreatedAt").notNullable().defaultTo(knex.fn.now()); t.foreign("UsuarioId").references("usuarios.Id").onDelete("CASCADE"); t.index(["UsuarioId"]); t.index(["ExpiresAt"]); }); }; exports.down = function (knex) { return knex.schema.dropTable("refresh_tokens"); };