--- sidebar_position: 0 --- # Migration Guides Welcome to the section on upgrading to a newer version of IGNITE® CLI! If you're looking to update to the latest version, you'll want to start by checking the documentation to see if there are any special considerations or instructions you need to follow. If there is no documentation for the latest version of IGNITE® CLI, it's generally safe to assume that there were no breaking changes, and you can proceed with using the latest version with your project. ## Create your own Migration Guide The `gen-mig-diffs` tool helps developers manage and visualize code changes across multiple major versions of IGNITE®. With each major upgrade, the codebase might undergo significant changes, making it challenging for developers to track these differences after several updates. The `gen-mig-diffs` tool simplifies this process by scaffolding blockchains with both the old and new versions and displaying the differences. It is located in the [IGNITE® CLI GitHub repository](https://github.com/ignite/cli/tree/main/ignite/internal/tools/gen-mig-diffs) directory and has been made into a standalone project. To set up this tool in your development environment: ```shell gen-mig-diffs [flags] ``` This tool generates migration diff files for each of IGNITE®'s scaffold commands. It compares two specified versions of IGNITE® and provides a clear, organized view of the changes. ## How to Get Started 1. Clone the IGNITE® CLI repository: ```shell git clone https://github.com/ignite/cli.git --depth=1 && \ cd cli/ignite/internal/tools/gen-mig-diffs ``` 2. Install and show usage: ```shell go install . && gen-mig-diffs -h ``` ### Example Migration As an example, to generate migration diffs between versions 0.27.2 and 28.3.0, use the following command: ```shell gen-mig-diffs --output temp/migration --from v0.27.2 --to v28.3.0 ``` This command scaffolds blockchains with the specified versions and shows the differences, making it easier for developers to understand and apply necessary changes when upgrading their projects. ## Usage ```bash This tool is used to generate migration diff files for each of ignites scaffold commands Usage: gen-mig-diffs [flags] Flags: -f, --from string Version of IGNITE® or path to IGNITE® source code to generate the diff from -h, --help help for gen-mig-diffs -o, --output string Output directory to save the migration document (default "docs/docs/06-migration") --repo-output string Output path to clone the IGNITE® repository -s, --repo-source string Path to IGNITE® source code repository. Set the source automatically set the cleanup to false --repo-url string Git URL for the IGNITE® repository (default "https://github.com/ignite/cli.git") --scaffold-cache string Path to cache directory --scaffold-output string Output path to clone the IGNITE® repository -t, --to string Version of IGNITE® or path to IGNITE® source code to generate the diff to ```