<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Retrofit in real developer workflows. on retrofit: co-evolve source code and database schemas</title><link>https://retrofit.sh/demos/</link><description>Recent content in Retrofit in real developer workflows. on retrofit: co-evolve source code and database schemas</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://retrofit.sh/demos/index.xml" rel="self" type="application/rss+xml"/><item><title>Retrofit generates the migration scripts. Flyway runs them.</title><link>https://retrofit.sh/demos/flyway-adopt-retrofit/</link><pubDate>Thu, 20 Aug 2026 00:00:00 +0000</pubDate><guid>https://retrofit.sh/demos/flyway-adopt-retrofit/</guid><description>&lt;p&gt;Marquez is our starting point: a real schema built by 74 Flyway migrations. We&#10;take a schema-only dump, import it into Retrofit, and seal it as the V74&#10;baseline. That yields 469 schema operations: 30 tables, 199 columns, 181&#10;constraints, and 46 indexes. Nothing is replayed and nothing is rewritten&#10;(Fig. 1A).&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;jobs.current_run_uuid&lt;/code&gt; already points at &lt;code&gt;runs.uuid&lt;/code&gt;, and is indexed, but no&#10;foreign key connects the two. We add one with &lt;code&gt;ON DELETE SET NULL&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Import and evolve an existing PostgreSQL database.</title><link>https://retrofit.sh/demos/import-evolve-postgresql/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://retrofit.sh/demos/import-evolve-postgresql/</guid><description>&lt;p&gt;Retrofit starts from a database dump, a set of migration scripts, or nothing&#10;at all. This demo starts with the &lt;a href="https://github.com/lerocha/chinook-database"&gt;Chinook sample&#10;database&lt;/a&gt;, its 11 related tables,&#10;and populated sample data. It imports that database, rebuilds all 3,503 tracks,&#10;renames &lt;code&gt;track.name&lt;/code&gt; to &lt;code&gt;track.title&lt;/code&gt;, converts &lt;code&gt;track.milliseconds&lt;/code&gt; from an&#10;integer to an &lt;code&gt;interval&lt;/code&gt;, and renames &lt;code&gt;invoice.total&lt;/code&gt; to &lt;code&gt;invoice.amount&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;The larger refactor moves five billing-address columns out of &lt;code&gt;invoice&lt;/code&gt; and&#10;creates &lt;code&gt;invoice_core&lt;/code&gt; and &lt;code&gt;invoice_billing&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>