Skip to content

Files

This branch is 21326 commits behind airbytehq/airbyte:master.

airbyte-migration

Airbyte Config Migration

This module migrates configs specified in airbyte-config to new versions.

WARNING: the file-based migrations are deprecated. Please write a Flyway migration whenever you want to update the database. See here for details.

Change Airbyte Configs

Test Migration Locally

IDE

Run MigrationRunner.java with arguments (--input, --output, --target-version).

Command line

Run the following command in project root:

# Get the current version
BUILD_VERSION=$(cat .env | grep VERSION | awk -F"=" '{print $2}')

# Build the migration bundle file
SUB_BUILD=PLATFORM ./gradlew airbyte-migration:build

# Extract the bundle file
tar xf ./airbyte-migration/build/distributions/airbyte-migration-${BUILD_VERSION}.tar --strip-components=1

# Run the migration
bin/airbyte-migration \
  --input <input_config_archive.tar.gz> \
  --output <output_config_archive.tar.gz>

See MigrationRunner for details.

Run migration in production

BUILD_VERSION=$(cat .env | grep VERSION | awk -F"=" '{print $2}')
INPUT_PATH=<path to directory containing downloaded airbyte_archive.tar.gz>
OUTPUT_PATH=<path to where migrated archive will be written (should end in .tar.gz)>
TARGET_VERSION=<version you are migrating to or empty for latest>

docker run --rm -v ${INPUT_PATH}:/config airbyte/migration:${BUILD_VERSION} -- \
  --input /config/airbyte_archive.tar.gz \
  --output ${OUTPUT_PATH} \
  [ --target-version ${TARGET_VERSION} ]

See Upgrading Airbyte for details.