<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Migration on Kuldeep Pisda</title><link>https://kdpisda.in/tag/migration/</link><description>Recent content in Migration on Kuldeep Pisda</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 18 Mar 2026 10:00:00 +0530</lastBuildDate><atom:link href="https://kdpisda.in/tag/migration/index.xml" rel="self" type="application/rss+xml"/><item><title>Migrating Production Storage from S3 to DigitalOcean Spaces with django-storages</title><link>https://kdpisda.in/migrating-s3-to-digitalocean-spaces-django-storages/</link><pubDate>Wed, 18 Mar 2026 10:00:00 +0530</pubDate><guid>https://kdpisda.in/migrating-s3-to-digitalocean-spaces-django-storages/</guid><description>&lt;p&gt;In October 2025 I moved a production Django app&amp;rsquo;s entire file-storage layer from AWS S3 to DigitalOcean Spaces. Pet photos, prescription PDFs, clinic logos, the Excel billing exports — all of it. The app had been live for six years by then, serving real veterinary clinics in India, and it had gone the whole of 2024 without a single commit.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s the part worth writing about: the migration touched zero Python. No model changed. No view, no serializer, no upload handler. I changed a handful of environment variables, rebuilt the Docker image for &lt;code&gt;linux/amd64&lt;/code&gt;, promoted it, and wrote a one-page runbook. Done.&lt;/p&gt;</description></item></channel></rss>