擅长:python、mysql、java
<p>由于<a href="https://docs.djangoproject.com/en/dev/topics/migrations/" rel="noreferrer">the migration system</a>与<a href="https://docs.djangoproject.com/en/dev/releases/1.7/#schema-migrations" rel="noreferrer">django 1.7</a>一起引入,不推荐使用<code>syncdb</code>。</p>
<p>现在您可以使用<code>makemigrations</code>跟踪更改。这会将模型更改转换为python代码,使它们可以部署到其他数据库。当需要对数据库进行进一步修改时,可以使用<a href="https://docs.djangoproject.com/en/dev/topics/migrations/#data-migrations" rel="noreferrer">data migrations</a>。</p>
<p>创建迁移后,必须应用它们:<code>migrate</code>。</p>
<p>因此,与其使用<code>syncdb</code>,不如使用<code>makemigrations</code>,然后使用<code>migrate</code>。</p>
<p>更改模型中的某些内容后的开发工作流:</p>
<pre><code>./manage.py makemigrations
./manage.py migrate
</code></pre>
<p>在你的生产系统上:</p>
<pre><code>./manage.py migrate
</code></pre>
<p>奖励:您不需要为每次更改运行<code>migrate</code>。如果有多个更改尚未应用,django将以正确的顺序为您运行它们。</p>