# wisser/jailer

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/wisser-jailer).**

3,130 stars · 141 forks · Java · apache-2.0

## Links

- GitHub: https://github.com/Wisser/Jailer
- Homepage: https://wisser.github.io/Jailer
- awesome-repositories: https://awesome-repositories.com/repository/wisser-jailer.md

## Topics

`database` `db2` `export` `extract` `frontend` `gui` `jailer` `java` `jdbc` `mssql` `mysql` `oracle` `postgresql` `redshift` `sql` `sqlserver` `subsetter` `subsetting` `testing`

## Description

Jailer is a suite of specialized tools for AI-assisted SQL management, referential integrity preservation, and relational data browsing. It provides a system for generating referentially intact database subsets, allowing users to extract consistent slices of relational data while preserving foreign key constraints and dependencies.

The project features an AI-driven SQL assistant that uses natural language to generate, optimize, and refactor queries based on database schemas. It also includes a data migration tool that analyzes SQL patterns to reverse engineer models and map associations between database schemas.

The toolset covers relational data exploration through a visual browser that follows foreign key relationships. It further supports data subsetting through export and import transformations, recursive foreign key traversal, and the ability to manage null referential integrity.

## Tags

### Artificial Intelligence & ML

- [Relational Database Subsetting](https://awesome-repositories.com/f/artificial-intelligence-ml/dataset-subset-extractions/relational-database-subsetting.md) — Extracts a slice of database records while automatically including all related rows to maintain referential integrity. ([source](https://cdn.jsdelivr.net/gh/wisser/jailer@master/README.md))
- [Referential Integrity Management](https://awesome-repositories.com/f/artificial-intelligence-ml/dataset-subset-extractions/referential-integrity-management.md) — Manages the export and import of database subsets while preserving foreign key constraints and dependencies.
- [SQL Assistants](https://awesome-repositories.com/f/artificial-intelligence-ml/self-hosted-coding-assistants/sql-assistants.md) — Offers an AI-powered assistant for generating, optimizing, and refactoring SQL queries from natural language.

### Data & Databases

- [Natural Language to SQL](https://awesome-repositories.com/f/data-databases/data-visualization-charts/natural-language-querying/natural-language-to-sql.md) — Translates natural language prompts into executable SQL queries for relational databases using schema metadata.
- [SQL Pattern Analysis](https://awesome-repositories.com/f/data-databases/database-access-layers/reverse-engineering-tools/sql-pattern-analysis.md) — Analyzes SQL query patterns to automatically reverse engineer and map associations between database tables.
- [Recursive Dependency Collection](https://awesome-repositories.com/f/data-databases/foreign-key-constraints/recursive-dependency-collection.md) — Walks relational graphs to identify and collect all dependent records required to maintain referential integrity.
- [Relation Navigators](https://awesome-repositories.com/f/data-databases/foreign-key-constraints/relation-navigators.md) — Provides a UI for navigating between related database records using foreign key references. ([source](https://cdn.jsdelivr.net/gh/wisser/jailer@master/README.md))
- [Relational State Restoration](https://awesome-repositories.com/f/data-databases/production-data-subsetting/relational-state-restoration.md) — Loads an extracted data slice into a target database to recreate a specific relational state. ([source](https://wisser.github.io/Jailer/api.html))
- [Export Criteria Filtering](https://awesome-repositories.com/f/data-databases/data-export/export-restrictions/export-criteria-filtering.md) — Filters exported rows using association restrictions and metadata predicates to prevent data bloat. ([source](https://wisser.github.io/Jailer/faq.html))
- [Traversal Depth Limits](https://awesome-repositories.com/f/data-databases/data-export/export-restrictions/traversal-depth-limits.md) — Limits the depth of relational traversal during data extraction to prevent excessive data bloat.
- [Query-Based Schema Reverse Engineering](https://awesome-repositories.com/f/data-databases/database-access-layers/reverse-engineering-tools/query-based-schema-reverse-engineering.md) — Analyzes SQL statements and defines table associations based on observed query patterns. ([source](https://cdn.jsdelivr.net/gh/wisser/jailer@master/README.md))
- [SQL Optimization Assistants](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/database-management/database-usage-optimizations/sql-optimization-assistants.md) — Analyzes and refactors SQL statements using artificial intelligence to improve performance and logic. ([source](https://cdn.jsdelivr.net/gh/wisser/jailer@master/README.md))
- [Extraction Model Migrations](https://awesome-repositories.com/f/data-databases/extraction-model-migrations.md) — Updates data extraction models to match current database schemas by analyzing changes and resolving associations. ([source](https://wisser.github.io/Jailer/faq.html))
- [Query-Pattern Association Inference](https://awesome-repositories.com/f/data-databases/query-pattern-association-inference.md) — Infers relational associations between tables by analyzing the join patterns found in executed SQL statements.
- [Referential Nullification Strategies](https://awesome-repositories.com/f/data-databases/referential-nullification-strategies.md) — Sets foreign key columns to null when an associated parent row is missing from the subset. ([source](https://wisser.github.io/Jailer/filters.html))
- [SQL Query Execution](https://awesome-repositories.com/f/data-databases/sql-query-execution.md) — Provides an interface for running SQL statements and retrieving structured results with integrated developer tools. ([source](https://cdn.jsdelivr.net/gh/wisser/jailer@master/README.md))
- [SQL Query Optimizations](https://awesome-repositories.com/f/data-databases/sql-query-optimizations.md) — Analyzes SQL syntax and metadata to refactor and normalize queries for better execution efficiency.
- [Column-Level Export Transformations](https://awesome-repositories.com/f/data-databases/table-data-export/column-level-export-transformations.md) — Applies SQL expressions to table columns to modify values before writing them to an export file. ([source](https://wisser.github.io/Jailer/filters.html))

### Networking & Communication

- [Import-Time Expression Evaluation](https://awesome-repositories.com/f/networking-communication/data-import/import-time-expression-evaluation.md) — Executes SQL expressions during the import phase to transform values or generate new primary keys. ([source](https://wisser.github.io/Jailer/filters.html))

### Programming Languages & Runtimes

- [Import-Export Value Transformations](https://awesome-repositories.com/f/programming-languages-runtimes/expression-evaluators/sql-expression-evaluation/import-export-value-transformations.md) — Evaluates SQL expressions during export and import phases to modify values or inject literal commands.

### Part of an Awesome List

- [Database GUIs](https://awesome-repositories.com/f/awesome-lists/devtools/database-guis.md) — Database subsetting and relational data browsing tool.
