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).

docker.io/konnexionsgmbh/kxn_dev is a very big image - 7.56G

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

Once MDEV-25434 is done I hope the sleep 30 can be replaced. If there's any other MariaDB container features needed to work better please let me know (https://github.com/MariaDB/mariadb-docker/issues or https://jira.mariadb.org component Docker).

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


On Sun, Jun 6, 2021 at 1:58 AM Walter Weinmann <walter.at.konnexions@gmail.com> wrote:
We are happy to announce that version 2.9.0 of DBSeeder (https://github.com/KonnexionsGmbH/db_seeder) is now available for general use. DBSeeder also supports the latest version of MariaDB Server available on DockerHub (10.6.1).
_______________________________________________
Mailing list: https://launchpad.net/~maria-discuss
Post to     : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp