{"id":15295790,"url":"https://github.com/exasol/test-db-builder-java","last_synced_at":"2025-04-13T18:23:08.928Z","repository":{"id":40993300,"uuid":"256475695","full_name":"exasol/test-db-builder-java","owner":"exasol","description":"Java library for creating and cleaning up test database structures and contents for integration tests","archived":false,"fork":false,"pushed_at":"2025-03-21T02:29:56.000Z","size":391,"stargazers_count":1,"open_issues_count":3,"forks_count":1,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-27T09:11:28.156Z","etag":null,"topics":["builder","database","exasol","exasol-integration","integration-testing","java","mysql","mysql-database","postgres","postgresql","postgresql-database"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exasol.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2020-04-17T10:44:38.000Z","updated_at":"2024-09-24T14:20:23.000Z","dependencies_parsed_at":"2023-11-16T14:31:15.077Z","dependency_job_id":"2196fce3-a114-4d9a-95b5-e964dcc3f5a3","html_url":"https://github.com/exasol/test-db-builder-java","commit_stats":{"total_commits":101,"total_committers":11,"mean_commits":9.181818181818182,"dds":0.5445544554455446,"last_synced_commit":"390faa35e5cf93df7589eb7c66da6a30c4ba18db"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exasol%2Ftest-db-builder-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exasol%2Ftest-db-builder-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exasol%2Ftest-db-builder-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exasol%2Ftest-db-builder-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exasol","download_url":"https://codeload.github.com/exasol/test-db-builder-java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248759141,"owners_count":21157098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["builder","database","exasol","exasol-integration","integration-testing","java","mysql","mysql-database","postgres","postgresql","postgresql-database"],"created_at":"2024-09-30T18:08:12.890Z","updated_at":"2025-04-13T18:23:08.906Z","avatar_url":"https://github.com/exasol.png","language":"Java","readme":"# Test Database Builder Java\n\n[![Build Status](https://github.com/exasol/test-db-builder-java/actions/workflows/ci-build.yml/badge.svg)](https://github.com/exasol/test-db-builder-java/actions/workflows/ci-build.yml)\n[![Maven Central \u0026ndash; Test Database Builder for Java](https://img.shields.io/maven-central/v/com.exasol/test-db-builder-java)](https://search.maven.org/artifact/com.exasol/test-db-builder-java)\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Atest-db-builder-java\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=com.exasol%3Atest-db-builder-java)\n\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Atest-db-builder-java\u0026metric=security_rating)](https://sonarcloud.io/dashboard?id=com.exasol%3Atest-db-builder-java)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Atest-db-builder-java\u0026metric=reliability_rating)](https://sonarcloud.io/dashboard?id=com.exasol%3Atest-db-builder-java)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Atest-db-builder-java\u0026metric=sqale_rating)](https://sonarcloud.io/dashboard?id=com.exasol%3Atest-db-builder-java)\n[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Atest-db-builder-java\u0026metric=sqale_index)](https://sonarcloud.io/dashboard?id=com.exasol%3Atest-db-builder-java)\n\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Atest-db-builder-java\u0026metric=code_smells)](https://sonarcloud.io/dashboard?id=com.exasol%3Atest-db-builder-java)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Atest-db-builder-java\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=com.exasol%3Atest-db-builder-java)\n[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Atest-db-builder-java\u0026metric=duplicated_lines_density)](https://sonarcloud.io/dashboard?id=com.exasol%3Atest-db-builder-java)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Atest-db-builder-java\u0026metric=ncloc)](https://sonarcloud.io/dashboard?id=com.exasol%3Atest-db-builder-java)\n\n# Overview\n\nExasol's **Test Database Builder for Java** (TDBJ) is a library that makes writing integration tests for database applications easier.\n\nThe main design goals are to make the code of the integration test compact and readable at the same time.\n\n## In a Nutshell\n\n```java\nimport com.exasol.dbbuilder.dialects.DatabaseObjectFactory;\n\nclass OnlineShopIT {\n    final static DatabaseObjectFactory factory;\n\n    @BeforeAll\n\n    static void beforeAll() {\n        // ... get a JDBC connection and store it in variable \"connection\"\n        factory = new ExasolObjectFactory(connection);\n    }\n\n    @Test\n    void testShopItemList() {\n        // Test preparation in the database:\n        final Schema schema = factory.createSchema(\"ONLINESHOP\");\n        final Table table = schema.createTable(\"ITEMS\", \"PRODUCT_ID\", \"DECIMAL(18,0)\", \"NAME\", \"VARCHAR(40)\")\n                .insert(\"1\", \"Cat food\")\n                .insert(\"2\", \"Toy mouse\");\n        final User user = factory.createUser(\"KIMIKO\")\n                .grant(CREATE_SESSION)\n                .grant(table, SELECT, UDPATE);\n        // ... the actual test\n    }\n}\n```\n\nFor more details, please refer to the [user guide](doc/user_guide/user_guide.md).\n\n## What it is\n\nThis module is designed to be used in test code. It helps you write tests, quickly, easily while still focusing on readability.\n\n## What it isn't\n\nTDBJ is not suited for production code. We sacrifice speed and features for compactness and ease-of-use. If you are looking for code that helps writing production code, please refer to\n\n* [SQL Statement Builder](https://github.com/exasol/sql-statement-builder)\n\n## Supported Databases\n\n* Exasol\n* MySQL\n* PostgreSQL\n\n## Features\n\n* Create: schemas, tables, adapter scripts, users, connection definitions, virtual schemas\n* Grant privileges to users\n* Insert data into tables\n\n## Customer Support\n\nThis is an open source project which is written by enthusiasts at Exasol and not officially supported. We will still try to help you as much as possible. So please create GitHub issue tickets when you want to request features or report bugs.\n\n# Table of Contents\n\n## Information for Users\n\n* [User Guide](doc/user_guide/user_guide.md)\n* [Changelog](doc/changes/changelog.md)\n* [Dependencies](dependencies.md)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexasol%2Ftest-db-builder-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexasol%2Ftest-db-builder-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexasol%2Ftest-db-builder-java/lists"}