Thanks Walter for letting everyone know.
I did play around with it as it might be useful in attempting to replicate sample data for users experiencing problems.
What was your intended purpose when creating this?
Suggestions/minor problems that I came up with testing it:
It doesn't compile with openjdk and I needed to install oraclejdk to test this. This wasn't documented (except .travis.yml that tipped me off).
README.md
- the database list in section 1 - was moved into the 1.1 table this would be easier to read.
- Chines typo
- in reference to docker-compose.yml needs to document creating Transfer directory
run_db_seeder.sh:
line 13 - is this meant to be "rm -rf $PWD/tmp/* || sudo rm -rf $PWD/tmp/*"?
the docker username/password seem to be optional
It's unclear what username/password this is referring to in the output:
Username:
Password:
Login Succeeded!
================================================================================
Start ./scripts/run_db_seeder_single.sh
suggest using shell default values allowing user to override:
export DB_SEEDER_CONNECTION_PORT=${DB_SEEDER_CONNECTION_PORT:-3306}
Feature request, can there be an environment way to specify arguments/settings to the container (defaulting to utf8?)?
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci (is this required?)
src/main/java/ch/konnexions/db_seeder/jdbc/mariadb/MariadbSeeder.java the initialization could be replaced with:
diff --git a/scripts/run_db_seeder_setup_dbms.sh b/scripts/run_db_seeder_setup_dbms.sh
index 096bc61..c47cbab 100755
--- a/scripts/run_db_seeder_setup_dbms.sh
+++ b/scripts/run_db_seeder_setup_dbms.sh
@@ -387,18 +387,21 @@ if [ "${DB_SEEDER_DBMS_DB}" = "mariadb" ]; then
echo "Docker create db_seeder_db (MariaDB Server ${DB_SEEDER_VERSION})"
docker network create db_seeder_net 2>/dev/null || true
- docker create -e MYSQL_ROOT_PASSWORD=mariadb \
+ docker create -e MARIADB_ROOT_PASSWORD="${DB_SEEDER_PASSWORD_SYS}" \
+ -e MARIADB_DATABASE="${DB_SEEDER_DATABASE}" \
+ -e MARIADB_USER="${DB_SEEDER_USER}" \
+ -e MARIADB_PASSWORD="${DB_SEEDER_PASSWORD}" \
--name db_seeder_db \
--network db_seeder_net \
-p "${DB_SEEDER_CONNECTION_PORT}":"${DB_SEEDER_CONTAINER_PORT}"/tcp \
- mariadb:"${DB_SEEDER_VERSION}" --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
+ mariadb:"${DB_SEEDER_VERSION}" --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --port="${DB_SEEDER_CONNECTION_PORT}"
echo "Docker start db_seeder_db (MariaDB Server ${DB_SEEDER_VERSION}) ..."
if ! docker start db_seeder_db; then
exit 255
fi
sleep 30
Testing with podman instead of docker with a alias docker=podman worked quite well too.
A useful feature would be a SQL statement, probably over information_schema and maybe table statistics columns that generates the JSON output from an existing schema.
Thanks for sharing