{"_id":"@alsew_/strapi-plugin-migration","_rev":"3-c900973c90ea6f373aa678ff1a3ae060","name":"@alsew_/strapi-plugin-migration","dist-tags":{"latest":"0.0.3","beta":"0.0.1-beta.3"},"versions":{"0.0.1-beta.1":{"name":"@alsew_/strapi-plugin-migration","version":"0.0.1-beta.1","keywords":["strapi","migration","data"],"author":{"name":"Aurélien Hémidy"},"license":"ISC","_id":"@alsew_/strapi-plugin-migration@0.0.1-beta.1","maintainers":[{"name":"alsew_","email":"aurelien.hp@outlook.fr"}],"homepage":"git+https://github.com/AurelienHemidy/strapi-plugin-migration.git#readme","bugs":{"url":"https://github.com/AurelienHemidy/strapi-plugin-migration/issues"},"bin":{"create-migration-file":"scripts/create-migration-file.mjs"},"dist":{"shasum":"c004bbd6b7d3c9bbd74c74693dfb3870a7ac00a2","tarball":"https://registry.npmjs.org/@alsew_/strapi-plugin-migration/-/strapi-plugin-migration-0.0.1-beta.1.tgz","fileCount":64,"integrity":"sha512-2beYa9NwxuYhJpyCwGnxab93Hu8dPN/mbL5znybB7VJC00ZaBod+cqMVfC99ay131ECQBUJ+qwxYgHOruqbi0A==","signatures":[{"sig":"MEYCIQDNA04vGN4nuCBntBfqmvW8M0JcD2F5T4ikHvlyccO7UwIhANxAZ1cJihBj3WUmqpXa9opUPpGMSP74R6yIndbD/sVV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":188847},"strapi":{"kind":"plugin","name":"strapi-plugin-migration","description":"Strapi Plugin to handle data migrations.","displayName":"Migrations"},"engines":{"npm":">=6.0.0","node":"18"},"gitHead":"ed2e92d7e20827547da85ef6ee12747cd34d9542","scripts":{"build":"tsc -p ../tsconfig.json"},"_npmUser":{"name":"alsew_","email":"aurelien.hp@outlook.fr"},"repository":{"url":"git+https://github.com/AurelienHemidy/strapi-plugin-migration.git","type":"git"},"_npmVersion":"9.8.1","description":"Strapi migration plugin for cms","directories":{},"resolutions":{"codemirror":"5.65.12"},"_nodeVersion":"18.18.0","dependencies":{"xss":"^1.0.14","uuid":"^9.0.1","fs-extra":"^11.1.1","commander":"^9.4.1","prop-types":"^15.7.2","@strapi/icons":"^1.6.3","@strapi/design-system":"^1.6.3","@strapi/helper-plugin":"^4.6.0"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"zx":"^6.1.0","react":"^17.0.2","eslint":"^8.56.0","nodemon":"^3.0.2","react-dom":"^17.0.2","typescript":"4.6.3","@types/react":"^17.0.53","@strapi/strapi":"4.10.5","@fifteen/tooling":"^0.1.0","@types/react-dom":"^17.0.18","react-router-dom":"^5.3.4","styled-components":"^5.3.6","eslint-plugin-react":"^7.33.2","@types/react-router-dom":"^5.3.3","@strapi/typescript-utils":"^4.6.0","@types/styled-components":"^5.1.26","@typescript-eslint/parser":"^6.19.1","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.19.1"},"peerDependencies":{"react":"^17.0.2","react-dom":"^17.0.2","@strapi/strapi":"^4.0.0","react-router-dom":"^5.3.4","styled-components":"^5.3.6"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-migration_0.0.1-beta.1_1706738400815_0.4688284887988876","host":"s3://npm-registry-packages"}},"0.0.1-beta.2":{"name":"@alsew_/strapi-plugin-migration","version":"0.0.1-beta.2","keywords":["strapi","migration","data"],"author":{"name":"Aurélien Hémidy"},"license":"ISC","_id":"@alsew_/strapi-plugin-migration@0.0.1-beta.2","maintainers":[{"name":"alsew_","email":"aurelien.hp@outlook.fr"}],"homepage":"git+https://github.com/AurelienHemidy/strapi-plugin-migration.git#readme","bugs":{"url":"https://github.com/AurelienHemidy/strapi-plugin-migration/issues"},"bin":{"create-migration-file":"scripts/create-migration-file.mjs"},"dist":{"shasum":"df5cfaf01d8b42f7eac11b438a3dfe067628088f","tarball":"https://registry.npmjs.org/@alsew_/strapi-plugin-migration/-/strapi-plugin-migration-0.0.1-beta.2.tgz","fileCount":67,"integrity":"sha512-LuQA2yPjAt82tn1+H8gb+zsemMxy11UqC+0rbRDqcca9K2GBgtVIJyk4Ao8lboBxcsxq6E3SBMpMDET9ePnIOA==","signatures":[{"sig":"MEQCIHZapuv3dgmfwOwoseZOIODy6YnH0pMLNTFdSBJHFW7bAiBNwF3D4fpW/N+RWRnxNlphiaoenEc51738lGBbeOiPnw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":191017},"strapi":{"kind":"plugin","name":"strapi-plugin-migration","description":"Strapi Plugin to handle data migrations.","displayName":"Migrations"},"engines":{"npm":">=6.0.0","node":"18"},"gitHead":"cbbb9bfe70425a0343a6e680a52ba60fce75a631","scripts":{"build":"tsc -p ../tsconfig.json"},"_npmUser":{"name":"alsew_","email":"aurelien.hp@outlook.fr"},"repository":{"url":"git+https://github.com/AurelienHemidy/strapi-plugin-migration.git","type":"git"},"_npmVersion":"9.8.1","description":"Strapi migration plugin for cms","directories":{},"resolutions":{"codemirror":"5.65.12"},"_nodeVersion":"18.18.0","dependencies":{"xss":"^1.0.14","uuid":"^9.0.1","fs-extra":"^11.1.1","commander":"^9.4.1","prop-types":"^15.7.2","@strapi/icons":"^1.6.3","@strapi/design-system":"^1.6.3","@strapi/helper-plugin":"^4.6.0"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","readmeFilename":"README.md","devDependencies":{"zx":"^6.1.0","react":"^17.0.2","eslint":"^8.56.0","nodemon":"^3.0.2","react-dom":"^17.0.2","typescript":"4.6.3","@types/react":"^17.0.53","@strapi/strapi":"4.10.5","@fifteen/tooling":"^0.1.0","@types/react-dom":"^17.0.18","react-router-dom":"^5.3.4","styled-components":"^5.3.6","eslint-plugin-react":"^7.33.2","@types/react-router-dom":"^5.3.3","@strapi/typescript-utils":"^4.6.0","@types/styled-components":"^5.1.26","@typescript-eslint/parser":"^6.19.1","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.19.1"},"peerDependencies":{"react":"^17.0.2","react-dom":"^17.0.2","@strapi/strapi":"^4.0.0","react-router-dom":"^5.3.4","styled-components":"^5.3.6"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-migration_0.0.1-beta.2_1709416912688_0.1479834504862878","host":"s3://npm-registry-packages"}},"0.0.1-beta.3":{"name":"@alsew_/strapi-plugin-migration","version":"0.0.1-beta.3","keywords":["strapi","migration","data"],"author":{"name":"Aurélien Hémidy"},"license":"ISC","_id":"@alsew_/strapi-plugin-migration@0.0.1-beta.3","maintainers":[{"name":"alsew_","email":"aurelien.hp@outlook.fr"}],"homepage":"git+https://github.com/AurelienHemidy/strapi-plugin-migration.git#readme","bugs":{"url":"https://github.com/AurelienHemidy/strapi-plugin-migration/issues"},"bin":{"create-migration-file":"scripts/create-migration-file.mjs"},"dist":{"shasum":"cb6f6e7b53b75e7c1d2548253a0fb6bd0db168ee","tarball":"https://registry.npmjs.org/@alsew_/strapi-plugin-migration/-/strapi-plugin-migration-0.0.1-beta.3.tgz","fileCount":67,"integrity":"sha512-aPlE05WJDFRnHXUtP67uiCt/gMA/2w9CUrfMoRGq7rRkzyD56NOvXN5ZfamaPArJThQOpD8iZi+D7txCpU5RCw==","signatures":[{"sig":"MEQCIALUrV6dffWM9jMgqM60tWrGGH2C9USA/ZKL2B70HnUIAiBfRMC1QU3EV/SZ2AUbR5D1AR/gNaUqHm8pkxTfMx1OOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":251037},"strapi":{"kind":"plugin","name":"strapi-plugin-migration","description":"Strapi Plugin to handle data migrations.","displayName":"Migrations"},"engines":{"npm":">=6.0.0","node":"18"},"gitHead":"1ef791a1d3f27d70de562d16628ff76d9f69299c","scripts":{"build":"tsc -p ../tsconfig.json"},"_npmUser":{"name":"alsew_","email":"aurelien.hp@outlook.fr"},"repository":{"url":"git+https://github.com/AurelienHemidy/strapi-plugin-migration.git","type":"git"},"_npmVersion":"10.7.0","description":"Strapi migration plugin for cms","directories":{},"resolutions":{"codemirror":"5.65.12"},"_nodeVersion":"18.20.3","dependencies":{"xss":"^1.0.14","uuid":"^9.0.1","fs-extra":"^11.1.1","commander":"^9.4.1","prop-types":"^15.7.2","@strapi/icons":"^1.6.3","@strapi/design-system":"^1.6.3","@strapi/helper-plugin":"^4.6.0"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","readmeFilename":"README.md","devDependencies":{"zx":"^8.1.8","react":"^17.0.2","eslint":"^8.56.0","nodemon":"^3.1.9","react-dom":"^17.0.2","typescript":"5.6.2","@types/react":"^17.0.53","@strapi/strapi":"^4.25.12","@fifteen/tooling":"^0.1.0","@types/react-dom":"^17.0.18","react-router-dom":"^5.3.4","styled-components":"^6.1.13","eslint-plugin-react":"^7.33.2","@types/react-router-dom":"^5.3.3","@strapi/typescript-utils":"^4.6.0","@types/styled-components":"^5.1.26","@typescript-eslint/parser":"^6.19.1","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.19.1"},"peerDependencies":{"react":"^17.0.2","react-dom":"^17.0.2","@strapi/strapi":"^4.0.0","react-router-dom":"^5.3.4","styled-components":"^6.1.13"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-migration_0.0.1-beta.3_1736765702413_0.3904624666108909","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@alsew_/strapi-plugin-migration","version":"0.0.3","description":"Strapi migration plugin for cms","keywords":["strapi","migration","data"],"homepage":"git+https://github.com/AurelienHemidy/strapi-plugin-migration.git#readme","repository":{"type":"git","url":"git+https://github.com/AurelienHemidy/strapi-plugin-migration.git"},"license":"ISC","author":{"name":"Aurélien Hémidy"},"maintainers":[{"name":"alsew_","email":"aurelien.hp@outlook.fr"}],"bin":{"create-migration-file":"scripts/create-migration-file.mjs"},"scripts":{"build":"tsc -p ../tsconfig.json"},"resolutions":{"codemirror":"5.65.12"},"dependencies":{"@strapi/design-system":"^1.6.3","@strapi/helper-plugin":"^4.6.0","@strapi/icons":"^1.6.3","commander":"^9.4.1","fs-extra":"^11.1.1","prop-types":"^15.7.2","uuid":"^9.0.1","xss":"^1.0.14"},"devDependencies":{"@fifteen/tooling":"^0.1.0","@strapi/strapi":"^4.25.12","@strapi/typescript-utils":"^4.6.0","@types/react":"^17.0.53","@types/react-dom":"^17.0.18","@types/react-router-dom":"^5.3.3","@types/styled-components":"^5.1.26","@typescript-eslint/eslint-plugin":"^6.19.1","@typescript-eslint/parser":"^6.19.1","eslint":"^8.56.0","eslint-plugin-react":"^7.33.2","eslint-plugin-react-hooks":"^4.6.0","nodemon":"^3.1.9","react":"^17.0.2","react-dom":"^17.0.2","react-router-dom":"^5.3.4","styled-components":"^6.1.13","typescript":"5.6.2","zx":"^8.1.8"},"peerDependencies":{"@strapi/strapi":"^4.0.0","react":"^17.0.2","react-dom":"^17.0.2","react-router-dom":"^5.3.4","styled-components":"^6.1.13"},"packageManager":"yarn@3.6.3","engines":{"node":"18","npm":">=6.0.0"},"strapi":{"name":"strapi-plugin-migration","displayName":"Migrations","description":"Strapi Plugin to handle data migrations.","kind":"plugin"},"_id":"@alsew_/strapi-plugin-migration@0.0.3","gitHead":"a598af4d5bc7a972e22068a98f29f348e596e1ab","bugs":{"url":"https://github.com/AurelienHemidy/strapi-plugin-migration/issues"},"_nodeVersion":"18.20.3","_npmVersion":"10.7.0","dist":{"integrity":"sha512-1tzDPXmnPLWHHWPzUELaFmLR/9q7Z1WF/Pq/3C4r0x8pdNfJzJtnxnY9d7QM6EL6oV8eGX3+CtcgLOovOuoBZw==","shasum":"1e4084b3b9ea37e47a91dcb253b8ed78b899454e","tarball":"https://registry.npmjs.org/@alsew_/strapi-plugin-migration/-/strapi-plugin-migration-0.0.3.tgz","fileCount":67,"unpackedSize":251030,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBDOMXMx9qfeuuAuOYTMf+/aUEXTYmHivkwC1RdmnZ3wIhALBQR3DTi0CKEBSDxZ6acwfq9Q1uBQW1D1CMQBjyVenv"}]},"_npmUser":{"name":"alsew_","email":"aurelien.hp@outlook.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/strapi-plugin-migration_0.0.3_1736766463311_0.6948737112201739"},"_hasShrinkwrap":false}},"time":{"created":"2024-01-31T22:00:00.721Z","modified":"2025-01-13T11:07:43.658Z","0.0.1-beta.1":"2024-01-31T22:00:00.996Z","0.0.1-beta.2":"2024-03-02T22:01:52.877Z","0.0.1-beta.3":"2025-01-13T10:55:02.672Z","0.0.3":"2025-01-13T11:07:43.483Z"},"bugs":{"url":"https://github.com/AurelienHemidy/strapi-plugin-migration/issues"},"author":{"name":"Aurélien Hémidy"},"license":"ISC","homepage":"git+https://github.com/AurelienHemidy/strapi-plugin-migration.git#readme","keywords":["strapi","migration","data"],"repository":{"type":"git","url":"git+https://github.com/AurelienHemidy/strapi-plugin-migration.git"},"description":"Strapi migration plugin for cms","maintainers":[{"name":"alsew_","email":"aurelien.hp@outlook.fr"}],"readme":"# Strapi Migrations plugin\n\nThis plugin add the possibility to make migrations on Strapi.\nIt uses migration scripts with a transaction mecanism to make atomic migrations.\nIt can be used for:\n\n- data model changes (_e.g._ rename a field, or move a data structure to another one)\n- delete a field or a data structure (_e.g._ delete a field that is not used anymore)\n\n## ⚠ Be careful\n\nThis plugin and Strapi's native migrations can't be used simultaneously.\nIf you want to use this plugin, you have to delete the native migrations inside the following folder: `./database/migrations`.\n\n# Usage\n\n## Installation\n\n```\nnpm install @alsew_/strapi-migration-plugin\n```\n\nor\n\n```\nyarn add @alsew_/strapi-migration-plugin\n```\n\n## Workflow\n\nTo make the developer workflow easier, the `dry mode` option is available.\n\nif you are in development mode :\n\n- The `dry mode` option is active by default. It means that the migration scripts will be executed but the changes will not be applied to the database. It allows you to test and build your migration scripts without modifying your database. You can then toggle the `dry mode` option inside the Migrations plugin panel to apply the changes to the database.\n\nif you are in production mode :\n\n- The `dry mode` option is disabled. It means that the migration scripts will be executed and the changes will be applied to the database.\n\n## Migration files\n\nMigrations files are stored in `./migrations` folder at root of the strapi project.\nTo create a migration file, two options:\n\n- Using the `create-migration-file` script (`yarn create-migration-file` or `npm run create-migration-file`)\n- Creating a file in the migration folder, with the pattern: `YYYYMMDD.01.migration-name.js`\n\n## Fields depreciation\n\nYou can add a json file in the `./migrations` folder of your strapi project called `deprecated-fields.json`.\nIt enables to keep track of the fields that have been migrated but not deleted yet. You can delete the fields later (inside a migration or manually) when you are sure that the fields are not used anymore.\n\n```ts\nDeprecated-field interface\n\n{\n  \"id\": string,\n  /**\n   * Name of the deprecated-field\n   */\n  \"name\": string,\n  /**\n   * Content type of the field if it exists\n   */\n  \"content_type\": string | null,\n  /**\n   * Visibility of the field in content-manager\n   */\n  \"is_visible\": boolean\n}\n```\n\n## Configuration\n\nYou can change the folder in which you store your migration files and deprecated-fields by adding the following variable to your `.env` file:\n\n```\nMIGRATION_SCRIPTS_ROOT_FOLDER_PATH=\"new-folder-path\"\n```\n","readmeFilename":"README.md"}