Files
deployment-portal-be/scripts/_migration_framework/README.md
Ashvin S ff4eb279d5 INFRA-3931 | Ashvin | Add migration framework (#1239)
* INFRA-3931 | Ashvin | Add migration framework
2024-10-21 13:08:15 +05:30

1.2 KiB

Migration Framework

This script provides a easier, faster and safer way to do migration on the manifests.

How to use

  1. Create a new file and implement the AbstractMigration class.
  2. Implement migrate method. This method will be called when the migration is executed.
  3. Override filter method. Use this function if you do not want to run the migration on all manifests.
  4. Run your class using this method:
async def main():
    migration = CustomMigration(
        "https://deployment-portal-backend.np.navi-tech.in",
        "<x-auth-token>",
    )
    await migration.run()


if __name__ == "__main__":
    asyncio.run(main())

Refer to example_migration.py for a sample migration.

Set up environment

  1. It is advisable to use a virtual environment to run the migration script. To set up the environment, run the following commands:
    cd scripts/_migration_framework
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
  2. Run the migration script
    python example.py
    
  3. To deactivate the virtual environment, run the following command:
    deactivate