Steps for building Kolena sqitch images:
for py_version in 3.7 3.8 3.9 3.10 3.11
do
env PY_VERSION=${py_version} ./build --build-arg sf_account=kolena-eng
docker push ghcr.io/kolenaio/docker-sqitch/sqitch:1.1.0-py${py_version}
env DIR=snowflake PY_VERSION=${py_version} ./build --build-arg sf_account=kolena-eng
docker push ghcr.io/kolenaio/docker-sqitch/sqitch:1.1.0-snowflake-py${py_version}
done
docker pull sqitch/sqitch
curl -L https://git.io/JJKCn -o sqitch && chmod +x sqitch
./sqitch help
docker pull sqitch/sqitch
WebRequest -Uri "https://git.io/JTAi6" -OutFile "sqitch.bat"
.\sqitch help
This project is the source for creating the official Sqitch Project Docker Image. It's built on Debian bookworm-slim in an effort to keep the image as small as possible while supporting all known engines. It includes support for managing PostgreSQL, CockroachDB, YugabyteDB, SQLite, MariaDB (MySQL), and Firebird databases, and other images may be built to support for the other database engines that Sqitch supports.
- The
docker-sqitch.sh
shell script is the easiest way to run Sqitch from a Docker image. The script mounts the current directory and the home directory, so that it acts on the Sqitch project in the current directory and reads configuration from the home directory almost as if it was running natively on the local host. It also copies over most of the environment variables that Sqitch cares about, for transparent configuration. - The [
docker-sqitch.bat
] batch script is an alternative for running Sqitch on Windows. Modeled ondocker-sqitch.sh
, it also detects environment variables and mounts the project and home directories. Support for configuration files will vary by database client, as many on Windows differ from their *unix counterparts and won't map into the container home directory. - By default, the container runs as the
sqitch
user. On macOS and Windows this works well, as files created by Sqitch in the working directory on the host will be properly owned by the host user. On Linux, however,docker-sqitch.sh
runs the container with the UID and GID of the current host user, again so that files created by Sqitch will be owned by that user. If you find that the container cannot access configuration files in your home directory or write change scripts to the local directory, runsudo docker-sqitch.sh
to run as the root user. Just be sure tochown
files that Sqitch created for the consistency of your project. - If your engine falls back on the system username when connecting to the database (as the PostgreSQL engine does), you will likely want to set the username in sqitch target URIs, or set the proper environment variables to fall back on. Database authentic