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:
parent
cce2d40160
commit
bd0596f035
1 changed files with 25 additions and 0 deletions
|
@ -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;
|
Loading…
Add table
Reference in a new issue