mirror of
https://github.com/logto-io/logto.git
synced 2025-02-03 21:48:55 -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