It's hard to build and test new features without realistic data.
Before DatabaseCI: Hours wasted copying production data around. Sensitive data escaping production. Compliance violations. Building features with empty fields, blank search results, and lifeless pages. Downtime and data loss because you never tested against realistic data.
After DatabaseCI: Production data never escapes production without anonymization. Life-like staging environments. Features filled with lively, realistic data from the start. Real dev-prod parity. Automatic subsetting means usable production-like data is available in seconds instead of hours. Database issues debugged easily with real data.
CI isn't really CI if it doesn't include your data
The typical development or staging environment has very poor data in it - out of date, unrealistic, manually entered.
It's typically not big enough to be able to properly test performance and code correctness before features hit production. And it isn't realistic enough to get a sense of how things will look and feel with real data.
Optimize your development data for team happiness
Designers want to solve real design problems with real data. Developers want to catch performance and layout issues that only show themselves with real data. Your sales team want to demo the product with realistic data in it.
They've got better things to do than waste time creating sample data.
Developers shouldn't have to see this:
select * from products; (0 rows returned)
Read more about continuous integration for databases - aka a fresh, anonymized subsetted database for every branch, automatically.
Sensitive production data shouldn't leave production
When you need realistic data, it's tempting for your team to just copy what's on production. But that's tempting disaster. Nobody wants the embarrassment of a mass data breach, or accidentally sending every customer placeholder emails from the staging environment.
Anything that leaves production goes from this...
| name | age | |:----------------|------:| | Steve Sensitive | 34 | | Pat Privacy | 51 | | Dirk Databreach | 22 |
| name | age | |:-----------------|------:| | Alex Anonymous | 37 | | Frankie Fakedata | 52 | | Lisa Lowrisk | 23 |
Read more about anonymization.
Moving production copies around or restoring from backups is slow and difficult.
Development teams want realistic data, but don't need several terabytes of it like your production database has.
DatabaseCI uses "subsetting" to give your teams just the right amount of production-like data. All the benefits of testing with realistic data, without the overflowing hard drives or hours-long copy times.
A few sample products while designing a new product page? A few gigabytes of database for testing a schema change? It's all easily configurable.
Read more about database subsetting.