<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Databases in a tomato suite: migrations, resets and clean state on tomato blog</title><link>https://tomatool.github.io/blog/posts/databases/</link><description>Recent content in Databases in a tomato suite: migrations, resets and clean state on tomato blog</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Wed, 21 Oct 2026 06:20:00 +0200</lastBuildDate><atom:link href="https://tomatool.github.io/blog/posts/databases/index.xml" rel="self" type="application/rss+xml"/><item><title>Setting up the schema with your migration tool</title><link>https://tomatool.github.io/blog/posts/databases/migrations/</link><pubDate>Wed, 21 Oct 2026 06:20:00 +0200</pubDate><guid>https://tomatool.github.io/blog/posts/databases/migrations/</guid><description>Whether your service migrates itself, or a tool like Flyway, golang-migrate, Alembic or Prisma does it before the service starts, the schema is made once per run, before the first scenario. Each case, in each language and tool, and the one line most tools need: keep their history table.</description></item><item><title>Postgres in a tomato suite</title><link>https://tomatool.github.io/blog/posts/databases/postgres/</link><pubDate>Wed, 21 Oct 2026 06:20:00 +0200</pubDate><guid>https://tomatool.github.io/blog/posts/databases/postgres/</guid><description>Every table emptied in one TRUNCATE … RESTART IDENTITY CASCADE before each scenario, migration history kept, schemas and excludes for the rest.</description></item><item><title>ScyllaDB and Cassandra in a tomato suite</title><link>https://tomatool.github.io/blog/posts/databases/scylladb/</link><pubDate>Wed, 21 Oct 2026 06:20:00 +0200</pubDate><guid>https://tomatool.github.io/blog/posts/databases/scylladb/</guid><description>tomato creates the keyspace, runs your CQL schema once, and truncates every table in the keyspace before each scenario, except the ones you exclude.</description></item><item><title>Redis in a tomato suite</title><link>https://tomatool.github.io/blog/posts/databases/redis/</link><pubDate>Wed, 21 Oct 2026 06:20:00 +0200</pubDate><guid>https://tomatool.github.io/blog/posts/databases/redis/</guid><description>Redis holds the state that leaks most easily: counters, sessions, caches. tomato flushes it before every scenario, or deletes only the keys matching a pattern.</description></item><item><title>Databases tomato has no resource for</title><link>https://tomatool.github.io/blog/posts/databases/other-databases/</link><pubDate>Wed, 21 Oct 2026 06:20:00 +0200</pubDate><guid>https://tomatool.github.io/blog/posts/databases/other-databases/</guid><description>MongoDB, MySQL, Elasticsearch: tomato has no resource for them, but the rule still holds. A before_scenario hook empties them, and scenarios check them through your service.</description></item></channel></rss>