Last active
December 21, 2022 09:03
-
-
Save B4nan/5300ae24d14131a5346a76a3843edc94 to your computer and use it in GitHub Desktop.
MikroORM 4.1: Bulk updates
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| for (let i = 1; i <= 5; i++) { | |
| const u = new User(`Peter ${i}`, `peter+${i}@foo.bar`); | |
| em.persist(u); | |
| } | |
| await em.flush(); | |
| // insert into `user` (`name`, `email`) values | |
| // ('Peter 1', 'peter+1@foo.bar'), | |
| // ('Peter 2', 'peter+2@foo.bar'), | |
| // ('Peter 3', 'peter+3@foo.bar'), | |
| // ('Peter 4', 'peter+4@foo.bar'), | |
| // ('Peter 5', 'peter+5@foo.bar'); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| for (const user of users) { | |
| user.name += ' changed!'; | |
| } | |
| await em.flush(); | |
| // update `user` set | |
| // `name` = case | |
| // when (`id` = 1) then 'Peter 1 changed!' | |
| // when (`id` = 2) then 'Peter 2 changed!' | |
| // when (`id` = 3) then 'Peter 3 changed!' | |
| // when (`id` = 4) then 'Peter 4 changed!' | |
| // when (`id` = 5) then 'Peter 5 changed!' | |
| // else `priority` end | |
| // where `id` in (1, 2, 3, 4, 5) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| em.remove(users); | |
| await em.flush(); | |
| // delete from `user` where `id` in (1, 2, 3, 4, 5) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment