jbogard/Respawn

Intelligent database cleaner for integration tests

View on GitHub ↗Jump to charts ↓

jbogard/Respawn has 3k+ stars and 150+ forks on GitHub, is written in C#, and was last pushed on Jan 19, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 minute ago
Added to GitGenius on September 22nd, 2026
Created on February 19th, 2015
Open Issues & Pull Requests: 15 (+0)
GitHub issues: Enabled
Number of forks: 154
Total Stargazers: 3,026 (+0)
Total Subscribers: 40 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 23.7 days
Mean response time: 169.6 days
90th percentile: 448.4 days
Tracked items: 14

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 5
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 738 days
Stale 30+ days: 5
Stale 90+ days: 5

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Respawn is a database cleaning utility for integration tests that intelligently resets test databases to a clean state by deleting data in the correct order.

The tool solves the problem of test isolation by providing an alternative to transaction rollbacks or post-test deletion. Instead of these approaches, Respawn examines SQL metadata to build a deterministic deletion order based on foreign key relationships between tables. It starts by deleting from tables with no relationships and works inward, ensuring all data is removed without constraint violations. The deletion order is calculated once during initialization and reused across test runs, making the process efficient and predictable.

Respawn suits projects using SQL Server, PostgreSQL, MySQL, or other relational databases where integration tests need a guaranteed clean state before each run. It is particularly valuable when test data might come from external sources or when you need easier debugging and maintenance compared to transaction-based isolation. The tool allows configuration to skip specific tables or schemas that should not be cleared, giving flexibility for shared reference data or system tables.

The project maintains active continuous integration workflows and publishes both stable and development releases. Local development requires Docker to run PostgreSQL and MySQL containers for testing, indicating the tool is tested against multiple database platforms. The codebase is actively maintained with regular updates to support different database systems.