backend/src/migrations/travels-departure-split.ts (view raw)
1const Strapi = require("@strapi/strapi");
2const moment = require("moment");
3
4const main = async () => {
5 const appContext = await Strapi.compile();
6 await Strapi(appContext).load();
7
8 const travels = await strapi.entityService.findMany("api::travel.travel", {
9 limit: -1,
10 filters: {
11 departure: { $notNull: true },
12 },
13 });
14
15 for (const travel of travels) {
16 const departureDate = moment(travel.departure).format("YYYY-MM-DD");
17 const departureTime = moment(travel.departure).format("HH:mm");
18
19 console.log(
20 `Update travel ${travel.id}: ${travel.departure} => ${departureDate} ${departureTime}`
21 );
22 await strapi.entityService.update("api::travel.travel", travel.id, {
23 data: {
24 departureDate,
25 departureTime,
26 },
27 });
28 }
29
30 process.exit(0);
31};
32
33main().catch((error) => {
34 console.error(error);
35 process.exit(1);
36});