<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: djangoevolution</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/djangoevolution.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2007-11-23T23:49:10+00:00</updated><author><name>Simon Willison</name></author><entry><title>Django Evolution</title><link href="https://simonwillison.net/2007/Nov/23/evolution/#atom-tag" rel="alternate"/><published>2007-11-23T23:49:10+00:00</published><updated>2007-11-23T23:49:10+00:00</updated><id>https://simonwillison.net/2007/Nov/23/evolution/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://code.google.com/p/django-evolution/"&gt;Django Evolution&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Really smart take on the problem of updating database tables to reflect changes to Django models. Code that automatically modifies your database tables can be pretty scary, but Evolution seems to hit the right balance.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/databases"&gt;databases&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/djangoevolution"&gt;djangoevolution&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/migration"&gt;migration&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/orm"&gt;orm&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/schema"&gt;schema&lt;/a&gt;&lt;/p&gt;



</summary><category term="databases"/><category term="django"/><category term="djangoevolution"/><category term="migration"/><category term="orm"/><category term="schema"/></entry></feed>