0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-01-27 21:39:16 -05:00

chore(schemas): add db alteration script to repair user created_at column by user logs (#2031)

This commit is contained in:
IceHe 2022-09-30 10:27:06 +08:00 committed by GitHub
parent cce2d40160
commit bd0596f035
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -0,0 +1,25 @@
import { sql } from 'slonik';
import { AlterationScript } from '../lib/types/alteration';
const alteration: AlterationScript = {
up: async (pool) => {
await pool.query(sql`
update users
set created_at = user_logs.registered_at
from (
select logs.payload ->> 'userId' as user_id, max(logs.created_at) as registered_at
from logs
where logs.type in ('RegisterUsernamePassword', 'RegisterEmail', 'RegisterSms', 'RegisterSocial')
and logs.payload ->> 'result' = 'Success'
group by logs.payload ->> 'userId'
) as user_logs
where users.id = user_logs.user_id;
`);
},
down: async (pool) => {
// It cannot be reverted automatically.
},
};
export default alteration;