{"id":36595567,"url":"https://github.com/tbrugz/sqldump","last_synced_at":"2026-01-12T08:28:22.729Z","repository":{"id":43463493,"uuid":"280532629","full_name":"tbrugz/sqldump","owner":"tbrugz","description":"Tool for dumping the schema and data from a database. Compatible with JDBC-compliant databases by using java.sql.DatabaseMetaData features","archived":false,"fork":false,"pushed_at":"2025-11-19T13:17:10.000Z","size":21930,"stargazers_count":17,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-11-19T15:20:48.576Z","etag":null,"topics":["jdbc","rdbms","sql"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tbrugz.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-07-17T21:58:46.000Z","updated_at":"2025-11-19T13:17:14.000Z","dependencies_parsed_at":"2024-09-11T07:10:05.498Z","dependency_job_id":"f74bd38a-4cbe-45d2-9f98-f6e424f98eec","html_url":"https://github.com/tbrugz/sqldump","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/tbrugz/sqldump","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrugz%2Fsqldump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrugz%2Fsqldump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrugz%2Fsqldump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrugz%2Fsqldump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tbrugz","download_url":"https://codeload.github.com/tbrugz/sqldump/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbrugz%2Fsqldump/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28337595,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T06:09:07.588Z","status":"ssl_error","status_checked_at":"2026-01-12T06:05:18.301Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jdbc","rdbms","sql"],"created_at":"2026-01-12T08:28:22.669Z","updated_at":"2026-01-12T08:28:22.721Z","avatar_url":"https://github.com/tbrugz.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nSQLDump\n=======\n\n[![GNU Lesser General Public License, v3](https://img.shields.io/github/license/tbrugz/sqldump.svg?label=License\u0026color=blue)](LICENSE)\n[![Maven Central](https://img.shields.io/maven-central/v/org.bitbucket.tbrugz/sqldump.svg?label=Maven%20Central)](https://central.sonatype.com/artifact/org.bitbucket.tbrugz/sqldump)\n[![Maven Central (Snapshots)](https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fcentral.sonatype.com%2Frepository%2Fmaven-snapshots%2Forg%2Fbitbucket%2Ftbrugz%2Fsqldump%2Fmaven-metadata.xml\u0026label=Central%20Snapshots)](https://central.sonatype.com/repository/maven-snapshots/org/bitbucket/tbrugz/sqldump/maven-metadata.xml)\n[![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/org.bitbucket.tbrugz/sqldump?server=https%3A%2F%2Foss.sonatype.org\u0026label=OSSRH%20Snapshots)](https://oss.sonatype.org/content/repositories/snapshots/org/bitbucket/tbrugz/)\n[![CI](https://github.com/tbrugz/sqldump/actions/workflows/ci-maven.yml/badge.svg)](https://github.com/tbrugz/sqldump/actions/workflows/ci-maven.yml)\n\n\nUtility to dump schema and data from a RDBMS. Features:\n\n- Does schema-dumping, using (mainly) standard java API, by way of `java.sql.DatabaseMetaData`\n- Does data-dumping (formats: csv, xml, html, json, sql 'insert into', sql 'update by PK', fixed column size, blob)\n- Can be used with any JDBC-compliant databases\n- Generates Entity-Relationship diagrams based on Tables and FKs (graphML output - [yEd](http://www.yworks.com/products/yed/) recommended)\n- Flexible schema output patterns (based on schema name, object type and object name)\n- Translation of metadata (column types) between different RDBMS dialects/implementations (partial)\n\nSQLDump also has three subprojects:\n\n- **SQLRun**: runs SQL scripts from files - may be used for regenerating database from dumped SQL-scripts. \n\tSee [sqlrun.template.properties](sqlrun.template.properties) for more info \n- **SQLDiff**: generates a diff from 2 schema models.\n\tSee [sqldiff.template.properties](sqldiff.template.properties) for more info \n- **SQLMigrate**: tool for schema migration.\n\tSee [sqlmigrate/README.md](sqlmigrate/README.md) and [sqlmigrate.template.properties](sqlmigrate/doc/sqlmigrate.template.properties) for more info\n- **Diff2Queries**: generates data diff from 2 SQL queries.\n\tSee [diff2q.template.properties](diff2q.template.properties) for more info \n\nAuthor: Telmo Brugnara \u003c[tbrugz@gmail.com](mailto:tbrugz@gmail.com)\u003e\n\nLicense: [LGPLv3](https://www.gnu.org/licenses/lgpl-3.0.html) - see [LICENSE](LICENSE)\n\n\nSQLDump - Basic Process\n-----------------------\n\nSQLDump processing consists of:\n\n1. 1 **Grabber** (implementation of `SchemaModelGrabber`, grabs a `SchemaModel`)\n2. 'n' **Processors** (implementation of `Processor`, usually uses a `Connection` or `SchemaModel`)\n  \u0026 **Dumpers** (implementation of `SchemaModelDumper`, dumps a `SchemaModel`)\n\n*Grabber* can be:\n\n- `JDBCSchemaGrabber` - Grabs schema metadata from a JDBC connection \n- `JAXBSchemaXMLSerializer` - Grabs schema metadata from a XML file \n- `JSONSchemaSerializer` - Grabs schema metadata from a JSON file \n\n*Processors* can be:\n\n- `DataDump` - Dumps data based on grabbed schema (can partition data from 1 table in different files, can dump in different formats)\n- `SQLQueries` - Dumps data based on SQL-queries (same as `DataDump` - for each query)\n- `CascadingDataDump` - Dumps data based on table relationships (FKs), given initial tables/filters\n- `graph.ResultSet2GraphML` - Dumps a graphML diagram based on a SQL-query\n- `SQLDialectTransformer` - Transforms schema models between different sql-dialects\n- `SQLRunProcessor` - Loads properties into SQLRun and execute statements \u0026 importers\n- `mondrianschema.Olap4jMDXQueries` - Dumps data from olap4j/mondrian engine\n- `mondrianschema.MondrianSchema2GraphProcessor` - Dumps a graphML diagram based on a Mondrian Schema file\n- `mondrianschema.MondrianSchemaValidator` - Validates a mondrian schema\n- `xtraproc.StatsProc` - Grabs statistics from database\n\n*Dumpers* can be:\n\n- `SchemaModelScriptDumper` - Dumps schema model in SQL-script format (DDL)\n- `JAXBSchemaXMLSerializer` - Dumps a XML representation of the schema model\n- `JSONSchemaSerializer` - Dumps a JSON representation of the schema model\n- `graph.Schema2GraphML` - Generates a Entity-Relationship diagram based on schema model\n- `mondrianschema.MondrianSchemaDumper` - Generates a Star/Snowflake [Mondrian Schema](http://mondrian.pentaho.com/) based on schema model\n- `xtradumpers.AlterSchemaSuggester` - Generates suggestions of SQL-scripts for altering the schema model (beta)\n- `xtradumpers.DropScriptDumper` - Generates drop SQL-scripts\n\nAll processing is controlled by a properties file. See [sqldump.template.properties](sqldump.template.properties)\nfor more info.\n\nUsage examples can be found at [doc/examples](doc/examples).\n\n\nDependencies\n------------\n- java 8 or newer\n- [apache-commons-logging](http://commons.apache.org/logging/)\n- [log4j](http://logging.apache.org/log4j/1.2/) - optional but recommended\n- database-dependent JDBC jars ( e.g.\n\t[PostgreSQL](http://jdbc.postgresql.org/download.html),\n\t[MySQL](http://dev.mysql.com/downloads/connector/j/5.0.html),\n\t[Oracle](http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html),\n\t[Derby](http://db.apache.org/derby/derby_downloads.html),\n\t[HSQLDB](http://hsqldb.org/),\n\t[H2](http://www.h2database.com/),\n\t[SQLite](http://code.google.com/p/sqlite-jdbc/),\n\t[MariaDB](https://downloads.mariadb.org/client-java/),\n\t[Drizzle](http://www.drizzle.org/content/download), \n\t[MonetDB](http://dev.monetdb.org/downloads/Java/Latest/),\n\t[Firebird](http://jaybirdwiki.firebirdsql.org/),\n\t[Virtuoso](http://docs.openlinksw.com/virtuoso/VirtuosoDriverJDBC.html),\n\t[jTDS/SQLServer](http://jtds.sourceforge.net/),\n\t[Neo4j](https://github.com/neo4j-contrib/neo4j-jdbc)\n\t)\n- [kmlutils](https://github.com/tbrugz/kmlutils) - optional, for graphML output\n- [jettison](http://jettison.codehaus.org/) - optional, for JSON output\n- [olap4j](http://www.olap4j.org/) \u0026 [mondrian](http://mondrian.pentaho.com/) - optional, for Mondrian Schema output, validation \u0026 data dump\n- [maven](https://maven.apache.org/) - for building\n\n\nBuilding from sources (with maven)\n--------------------------------------\n- Run `git clone https://github.com/tbrugz/sqldump \u003cproject-dir\u003e` (if not done already)\n- Run `mvn package`\n- (install artifacts locally) `mvn install`\n- (deploy snapshot artifacts to snoatype) `mvn deploy`\n\nSee also: [doc/mavenizing.md](doc/mavenizing.md)\n\n\n**[deprecated]** Running (with sources)\n----------------------\n- Download jdbc jars for your database of choice\n- Edit `sqldump.properties`\n- Run `ant run` *or*\n- Run `tbrugz.sqldump.SQLDump`, e.g., `java -cp bin;lib/kmlutils.jar;lib/commons-logging-1.1.1.jar;lib/log4j-1.2.15.jar;\u003cjdbc-driver-path\u003e tbrugz.sqldump.SQLDump \u003coptions\u003e`\n\n\n**[deprecated]** Not building? Setup env (without sources)\n-----------------------------------------\n- Download `sqldump.jar` jar from [sqldump maven repo](https://bitbucket.org/tbrugz/mvn-repo/src/tip/org/bitbucket/tbrugz/sqldump)\n  (e.g.: [sqldump 0.9.16](https://bitbucket.org/tbrugz/mvn-repo/src/tip/org/bitbucket/tbrugz/sqldump/0.9.16/sqldump-0.9.16.jar))\n- Download jar dependencies, especially *apache-commons-logging*, to `lib` (may be downloaded from [sqldump/downloads](https://bitbucket.org/tbrugz/sqldump/downloads))\n- (windows) Download [sqldump.bat.template](sqldump.bat.template) as `sqldump.bat`\n  or (unix-like) download [sqldump.sh.template](sqldump.sh.template) as `sqldump.sh`\n- Download latest version of [sqldump.template.properties](sqldump.template.properties) as `sqldump.properties`\n- Edit `sqldump.properties` and (windows) `sqldump.bat` or (unix-like) `sqldump.sh` (you may include command-line options at end)\n\n\nRunning (without sources)\n-------------------------\n- Download jdbc jars for your database of choice\n- (windows) Run `sqldump.bat`\n- (unix-like) Run `sqldump.sh` or run `tbrugz.sqldump.SQLDump`, e.g., `java -cp sqldump-core.jar:lib/kmlutils.jar:lib/commons-logging-1.1.1.jar:lib/log4j-1.2.15.jar:\u003cjdbc-driver-path\u003e tbrugz.sqldump.SQLDump \u003coptions\u003e`\n\n\nBuilding or running with Docker\n------------------------------\n- See [docker/README.md](docker/README.md) or [docker/BUILD.md](docker/BUILD.md)\n\n\nCommand-line options\n--------------------\n- `-propfile=\u003cpath-to-prop-file\u003e`: loads a different config properties file\n- `-propresource=\u003cpath-to-resource\u003e`: loads a different config properties resource\n- `-D\u003cproperty\u003e[=\u003cvalue\u003e]`: define property with value\n- `-usesysprop=[true|false]`: loads system properties besides the config file properties (default is true)\n- `--help`: show help and exit\n- `--version`: show version and exit\n\n\nArtifact repositories\n---------------------\n\n**Releases:**  \n- [maven central/sqldump](https://central.sonatype.com/artifact/org.bitbucket.tbrugz/sqldump/versions)  \n  [maven central/org.bitbucket.tbrugz](https://central.sonatype.com/namespace/org.bitbucket.tbrugz)\n\n**Snapshots:**  \n- [sonatype snapshots](https://oss.sonatype.org/content/repositories/snapshots/org/bitbucket/tbrugz/)\n  - see [how to configure settings.xml](https://stackoverflow.com/a/7717234/616413)\n\n**Maven dependency config:**\n\n\t\u003cdependency\u003e\n\t\t\u003cgroupId\u003eorg.bitbucket.tbrugz\u003c/groupId\u003e\n\t\t\u003cartifactId\u003esqldump\u003c/artifactId\u003e\n\t\t\u003cversion\u003e0.10\u003c/version\u003e\n\t\u003c/dependency\u003e\n\n\nPublishing\n----------\n- To publish on maven central, see [doc/maven-sonatype.md](doc/maven-sonatype.md)\n- To check code quality on sonarcloud, see [doc/sonarqube.md](doc/sonarqube.md)\n\n\nMisc/End notes\n--------------\nTo build with [Jenkins](http://jenkins-ci.org/), see [doc/jenkins-config.md](doc/jenkins-config.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftbrugz%2Fsqldump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftbrugz%2Fsqldump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftbrugz%2Fsqldump/lists"}