<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shashwat Diwan</title>
    <description>The latest articles on DEV Community by Shashwat Diwan (@shashcodes).</description>
    <link>https://dev.to/shashcodes</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4051311%2F5a596cd3-fb36-42a0-8168-709712d76caa.jpg</url>
      <title>DEV Community: Shashwat Diwan</title>
      <link>https://dev.to/shashcodes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shashcodes"/>
    <language>en</language>
    <item>
      <title>RelinkDB - auto db migration tool for free-tier services</title>
      <dc:creator>Shashwat Diwan</dc:creator>
      <pubDate>Tue, 28 Jul 2026 12:12:45 +0000</pubDate>
      <link>https://dev.to/shashcodes/relinkdb-auto-db-migration-tool-for-free-tier-services-4276</link>
      <guid>https://dev.to/shashcodes/relinkdb-auto-db-migration-tool-for-free-tier-services-4276</guid>
      <description>&lt;p&gt;If you run side projects, prototypes, or indie tools on Render's free tier, you already know the monthly headache: &lt;strong&gt;Render wipes free PostgreSQL databases every 30 days.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Forgetting the expiration date means losing live user data. Remembering it means a tedious manual dance of dumping SQL, spinning up a new database, restoring the data, and updating environment variables.&lt;/p&gt;

&lt;p&gt;To fix this routine once and for all, I built &lt;strong&gt;&lt;a href="https://github.com/ShashwatDiwan/RelinkDB" rel="noopener noreferrer"&gt;RelinkDB&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  💡 What is RelinkDB?
&lt;/h3&gt;

&lt;p&gt;RelinkDB is an automated, open-source desktop operator console and background worker built specifically for the Render free-tier Postgres renewal cycle. &lt;/p&gt;

&lt;p&gt;Render blocks API-based creation of free resources, so you still have to click &lt;em&gt;New → Postgres&lt;/em&gt; in the dashboard once a month. &lt;strong&gt;RelinkDB automates every single step around it&lt;/strong&gt;, turning a 15-minute multi-step chore into a safe 2-minute workflow.&lt;/p&gt;




&lt;h3&gt;
  
  
  ✨ Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;⏱️ Expiry Countdown &amp;amp; Alerts:&lt;/strong&gt; Get live visibility on your database age via the desktop console or an optional background worker process.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💾 One-Click Dump &amp;amp; Restore:&lt;/strong&gt; Export your live database schema and data before it expires, then restore it directly to the newly provisioned instance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔗 Auto-Relinking:&lt;/strong&gt; Automatically updates your backend web service’s environment variables (&lt;code&gt;DATABASE_URL&lt;/code&gt;) on Render and triggers a fresh redeploy instantly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;⚡ Zero-Tool Fallback:&lt;/strong&gt; Includes a pure-JS dump/restore fallback path using &lt;code&gt;pg&lt;/code&gt; when local &lt;code&gt;pg_dump&lt;/code&gt; tools aren't installed on your machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💻 Operator Desktop Console:&lt;/strong&gt; Clean Windows desktop UI built with Electron for smooth local management.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🛠️ How the Monthly Workflow Works
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pull Fresh Data (&lt;code&gt;npm run backup&lt;/code&gt;):&lt;/strong&gt; Connects to your active database and dumps a complete &lt;code&gt;data.sql&lt;/code&gt; snapshot.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recreate Instance (Manual):&lt;/strong&gt; Delete the old DB on Render, click &lt;em&gt;New → Postgres&lt;/em&gt; with the same name, and hit &lt;em&gt;Create&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Restore &amp;amp; Relink (&lt;code&gt;npm run sync&lt;/code&gt;):&lt;/strong&gt; RelinkDB detects the new instance, restores your backup, updates your app's environment variables, and redeploys your backend automatically.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  📦 Quick Start &amp;amp; Source Code
&lt;/h3&gt;

&lt;p&gt;Check out the full setup instructions, build guide, and architecture details on GitHub:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://github.com/ShashwatDiwan/RelinkDB" rel="noopener noreferrer"&gt;GitHub Repository: RelinkDB&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Feel free to drop a ⭐️ if you find it helpful, or open an issue/PR to contribute! Feedback and feature suggestions are always welcome.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>electron</category>
      <category>productivity</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
