python – 检查待执行的Django迁移
发布时间:2021-02-20 20:46:33 所属栏目:Python 来源:互联网
导读:在Django中,是否有一种简单的方法来检查所有数据库迁移是否已经运行?我找到了manage.py migrate –list,这给了我所需要的信息,但格式并不是很容易读取. 对于上下文:我有一个脚本,在数据库迁移之前不应该开始运行.由于各种原因,从运行迁移的进程发送信号将是
|
在Django中,是否有一种简单的方法来检查所有数据库迁移是否已经运行?我找到了manage.py migrate –list,这给了我所需要的信息,但格式并不是很容易读取. 对于上下文:我有一个脚本,在数据库迁移之前不应该开始运行.由于各种原因,从运行迁移的进程发送信号将是棘手的.所以我想让我的脚本定期检查数据库,看看所有的迁移是否已经运行. 解决方法贝壳目前我发现的唯一简单的解决方案是运行 ./manage.py showmigrations | grep '[ ]' 这将输出一个空字符串,以防所有迁移都被应用. 然而,它与输出格式密切相关. Python 我检查了 from django.db.migrations.executor import MigrationExecutor
from django.db import connections,DEFAULT_DB_ALIAS
def is_database_synchronized(database):
connection = connections[database]
connection.prepare_database()
executor = MigrationExecutor(connection)
targets = executor.loader.graph.leaf_nodes()
return False if executor.migration_plan(targets) else True
# Usage example.
if is_database_synchronized(DEFAULT_DB_ALIAS):
# All migrations have been applied.
pass
else:
# Unapplied migrations found.
pass (编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Python’的奇怪行为是’运算符,如果与’in’结合使用[复制]
- python – 根据上一个和下一个元素将元素插入到列表中
- python – CherryPy日志记录:如何配置和使用全局和应用程序
- 日期(.NET)的自然语言解析器?
- python – SQLAlchemy过滤器查询由相关对象
- python – 将日期列和时间列合并到datetime列
- 在Python的Cmd.cmd中完成filename tab-completion
- Python ConfigParser检查Section和Key Value的存在
- django – 必须使用对象pk或slug调用通用详细信息视图
- python – Django中的多态模型继承
