0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2024-12-23 20:33:16 -05:00
logto/packages/schemas/alterations/next-1664462389-correct-user-created-at-column-by-user-logs.ts

26 lines
750 B
TypeScript
Raw Normal View History

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;