20 lines
827 B
JavaScript
20 lines
827 B
JavaScript
'use strict';
|
|
|
|
exports.up = async (pgm) => {
|
|
pgm.createTable('identity_password_reset_tokens', {
|
|
id: { type: 'uuid', primaryKey: true, default: pgm.func('gen_random_uuid()') },
|
|
user_id: { type: 'uuid', notNull: true, references: 'identity_users(id)', onDelete: 'CASCADE' },
|
|
token_hash: { type: 'text', notNull: true, unique: true },
|
|
expires_at: { type: 'timestamptz', notNull: true },
|
|
used_at: { type: 'timestamptz' },
|
|
request_ip: { type: 'text' },
|
|
request_user_agent: { type: 'text' },
|
|
created_at: { type: 'timestamptz', notNull: true, default: pgm.func('now()') },
|
|
});
|
|
pgm.createIndex('identity_password_reset_tokens', 'user_id');
|
|
pgm.createIndex('identity_password_reset_tokens', 'expires_at');
|
|
};
|
|
|
|
exports.down = async (pgm) => {
|
|
pgm.dropTable('identity_password_reset_tokens');
|
|
}; |