harbor/migration/README.md
2016-06-28 15:48:31 +08:00

1.7 KiB

Migration guide

Migration is a module for migrating database schema between different version of project Harbor

This module is for those machine running Harbor's old version, such as 0.1.0. If your Harbor' version is up to date, please ignore this module.

WARNING!! You must backup your data before migrating

###Installation

  • step 1:
    cd migration
    
  • step 2: change db_username, db_password, db_port, db_name in migration.cfg
  • step 3: build image from dockerfile
    docker build -t migrate-tool .
    

###Migrate Step

  • step 1: stop and remove Harbor service

    docker-compose down
    
  • step 2: create backup file in /path/to/backup

    docker run -ti --rm -v /data/database:/var/lib/mysql -v /path/to/backup:/harbor-migration/backup migrate-tool backup
    
  • step 3: perform database schema upgrade

    docker run -ti --rm -v /data/database:/var/lib/mysql migrate-tool up head

  • step 4: rebuild newest Harbor images and restart service

    docker-compose build && docker-compose up -d
    

You may change /data/database to the mysql volumes path you set in docker-compose.yml.

###Migration operation reference

  • You can use help to show instruction of Harbor migration

    docker run migrate-tool help

  • You can use test to test mysql connection in Harbor migration

    docker run --rm -v /data/database:/var/lib/mysql migrate-tool test

  • You can restore from backup file in /path/to/backup

    docker run -ti --rm -v /data/database:/var/lib/mysql -v /path/to/backup:/harbor-migration/backup migrate-tool restore