在独立的 Django 应用程序中进行新迁移的最佳方法是啥?

Posted

技术标签:

【中文标题】在独立的 Django 应用程序中进行新迁移的最佳方法是啥?【英文标题】:What's the best way to make a new migration in a standalone Django app?在独立的 Django 应用程序中进行新迁移的最佳方法是什么? 【发布时间】:2016-07-10 16:54:18 【问题描述】:

我有一个 Django 应用程序,它是不久前从最初构建的项目中分离出来的,制成一个单独的独立应用程序,并放在 PyPI (https://pypi.python.org/pypi/mysociety-django-images) 上。该应用程序的构建期望与 Django 1.7+ 一起运行。

我现在想更改其中的一个模型 - 只需更改字段上的 max_length。我在文档中看不到有关如何为其进行新迁移的任何内容?我需要制作一个示例项目并使用它,还是有更好的方法?

【问题讨论】:

【参考方案1】:

您可以通过编写如下脚本来做到这一点:

#!/path/to/your python

import sys
import django

from django.conf import settings
from django.core.management import call_command

settings.configure(
    DEBUG=True,
    INSTALLED_APPS=(
        'django.contrib.contenttypes',
        'yourAppName',
    ),
)

django.setup()
call_command('makemigrations', 'yourAppName')

(这也是我们测试独立应用程序的方式)。

我不知道这和创建一个示例项目之间哪个更好(这看起来更轻松)。

【讨论】:

问题是他没有 manage.py,因为它是一个独立的应用程序。 我已经编辑了答案以保留对独立应用程序有用的位。 谢谢您 - 完美地完成了这项工作。我也可能会开始使用它进行测试! 我已经编辑了您的答案,以准确保留直接回答问题的部分 - 希望您不要介意!

以上是关于在独立的 Django 应用程序中进行新迁移的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Django:合并迁移冲突的最佳方法

如何将模型从一个 django 应用程序迁移到一个新应用程序中?

Django 最佳实践——迁移数据

升级程序集时,在隔离存储中迁移文件的最佳方法是啥?

将文件夹和文件结构从 django 1.3 迁移到 django 1.4 的最佳方法是啥?

Django:将项目从 sqlite 迁移到 PostgreSQL 的最佳实践是啥