如何从命令行列出应用的迁移? [复制]

     2023-02-24     77

关键词:

【中文标题】如何从命令行列出应用的迁移? [复制]【英文标题】:How to list applied migrations from command line? [duplicate] 【发布时间】:2018-10-15 16:36:12 【问题描述】:

我已经运行了 makemigrations,然后 migrate 应用迁移

python manage.py showmigrations
admin
 [X] 0001_initial
 [X] 0002_logentry_remove_auto_add
auth
 [X] 0001_initial
 [X] 0002_alter_permission_name_max_length
 [X] 0003_alter_user_email_max_length
 [X] 0004_alter_user_username_opts
 [X] 0005_alter_user_last_login_null
 [X] 0006_require_contenttypes_0002
 [X] 0007_alter_validators_add_error_messages
 [X] 0008_alter_user_username_max_length
 [X] 0009_alter_user_last_name_max_length
boards
 [X] 0001_initial
contenttypes
 [X] 0001_initial
 [X] 0002_remove_content_type_name
sessions
 [X] 0001_initial

如何通过命令行查找板子中的模型?

【问题讨论】:

甚至没有接近重复。 您的意思是每个 migraiton 文件中创建/更改了哪些模型? 【参考方案1】:

您需要为此使用一些未记录的 API,但这是一种方法:

from django.db import connections
from django.db.migrations.loader import MigrationLoader

loader = MigrationLoader(connections['default'])
loader.load_disk()

在此之后,loader.disk_migrations 将是一个字典,其键是 (app_name, migration_name) 元组,其值是 Migration 对象。所以迭代loader.disk_migrations.keys() 会给你一个接近你想要的列表,你可以根据需要对其进行格式化。

如果您只想要已应用的那些:

from django.db.migrations.recorder import MigrationRecorder
recorder = MigrationRecorder(connections['default'])

然后访问recorder.applied_migrations()

如果您想详细了解迁移在内部是如何工作的,以及 Django 如何确定您拥有哪些迁移以及应用了哪些迁移,请查看the source code of the manage.py migrate command。

【讨论】:

从带有命令行参数的批处理文件运行控制台应用程序,如何在运行时传递参数值? [复制]

】从带有命令行参数的批处理文件运行控制台应用程序,如何在运行时传递参数值?[复制]【英文标题】:runningconsoleapplicationfrombatchfilewithcommandlinearguments,Howtopassargumentsvalueatruntime?[duplicate]【发布时间】:2018-01-1104:23:19【问题描... 查看详情

如何从表中列出重复值? [复制]

】如何从表中列出重复值?[复制]【英文标题】:HowcanIlistduplicatevaluesoutofatable?[duplicate]【发布时间】:2017-10-1512:18:00【问题描述】:我有这张桌子。某些行在Kanji列中有重复值。如何在这些行中显示相同汉字多次出现的位置?CREA... 查看详情

从 IIS 的命令行列出所有托管网站

...lineonIIS【发布时间】:2012-12-0613:34:38【问题描述】:我们如何在IIS上通过命令行列出所有托管网站?【问题讨论】:【参考方案1】:您可能需要以管理员身份运行它。appcmdlistsite直接来自http://technet.microsoft.com/en-us/library/cc77128 查看详情

如何从命令行列出 Github 包注册表存储库中的所有包?

】如何从命令行列出Github包注册表存储库中的所有包?【英文标题】:HowcanilistallpackagesinaGithubPackageRegistryrepositoryfromthecommandline?【发布时间】:2020-05-1015:28:16【问题描述】:假设我们有Github包注册库https://maven.pkg.github.com/someOrgani... 查看详情

使用命令行工具从 Xcode 复制文件

...Path/To/The.File,如果已将The.File的副本添加到项目资源中,如何将其复制到/Path/To/The.File?对于一个MacOS应用程 查看详情

如何从命令行调用文件中的特定 python 函数? [复制]

】如何从命令行调用文件中的特定python函数?[复制]【英文标题】:HowdoIcallaspecificpythonfunctioninafilefromthecommandline?[duplicate]【发布时间】:2018-01-2316:57:26【问题描述】:假设在名为fb_auth_token.py的文件中有以下函数defget_fb_access_token(... 查看详情

从命令行执行 mysql 只列出参数/变量的概述

】从命令行执行mysql只列出参数/变量的概述【英文标题】:Executingmysqlfromcommandlinejustlistingoverviewofarguments/variables【发布时间】:2013-06-1002:52:06【问题描述】:在OSX上的XAMPP中,我在~/.profile中设置了我的环境路径,以便我可以在命... 查看详情

如何在命令行中输入? [复制]

】如何在命令行中输入?[复制]【英文标题】:HowdoIinputinacommandline?[duplicate]【发布时间】:2018-07-1515:45:49【问题描述】:我正在为一个班级做作业,并注意到我可能需要argc和argv,但是当我查找它以了解它时,我不断看到提到命... 查看详情

从命令行复制 VS2008“发布网站”

】从命令行复制VS2008“发布网站”【英文标题】:ReplicateVS2008"PublishWebSite"fromcommandline【发布时间】:2009-04-2210:58:50【问题描述】:我正在尝试在构建脚本中复制VisualStudio2008中此对话的确切功能:这是一个ASP.NET网站站点... 查看详情

sh从命令行列出osx的用户帐户(代码片段)

查看详情

如何从 node.js 应用程序运行命令行工具

】如何从node.js应用程序运行命令行工具【英文标题】:Howtorunacommandlinetoolfromnode.jsapplication【发布时间】:2018-02-0323:02:36【问题描述】:我的问题的标题是,因为我认为这里的答案将适用于可从npm安装的所有命令行实用程序。我... 查看详情

如何在 unix 中移动或复制“find”命令列出的文件?

】如何在unix中移动或复制“find”命令列出的文件?【英文标题】:Howtomoveorcopyfileslistedby\'find\'commandinunix?【发布时间】:2013-06-2611:20:55【问题描述】:我有一个使用以下命令看到的某些文件的列表,但是如何将列出的这些文件... 查看详情

sh如何从命令行查找应用程序的路径?(代码片段)

查看详情

如何从 PostgreSQL 退出/注销? [复制]

】如何从PostgreSQL退出/注销?[复制]【英文标题】:HowcanIexit/logoutfromPostgreSQL?[duplicate]【发布时间】:2015-08-0613:51:17【问题描述】:我是psql新手,在Ubuntu上使用psql命令行。从命令行注销/退出的命令是什么?谢谢!【问题讨论】:... 查看详情

如何从 Maven 命令行远程调试 Java 应用程序

】如何从Maven命令行远程调试Java应用程序【英文标题】:Howtoremotedebugjavaapplicationfrommavencommandline【发布时间】:2014-03-0808:20:02【问题描述】:我有一个在IntelliJ中运行的java应用程序。我可以知道如何从Maven命令行远程调试应用程... 查看详情

如何从设备上的命令行卸载 android 应用程序

】如何从设备上的命令行卸载android应用程序【英文标题】:Howtouninstallanandroidappfromcommandlineonthedevice【发布时间】:2013-07-0713:30:33【问题描述】:我可以使用adbuninstall<package_name>从我的计算机上卸载设备上的应用程序,... 查看详情

你如何从命令行调用多个文件到你的应用程序中?

】你如何从命令行调用多个文件到你的应用程序中?【英文标题】:Howdoyoucallmultiplefilesfromcommandlineintoyourapplication?【发布时间】:2012-05-2407:13:15【问题描述】:我正在向Windows注册表添加一个上下文菜单项,因此当我单击一个文... 查看详情

如何从命令行运行 QUnit 测试?

】如何从命令行运行QUnit测试?【英文标题】:HowtorunQUnittestsfromcommandline?【发布时间】:2014-09-0210:50:27【问题描述】:我最近开始开发一个Rails应用程序,该应用程序已经有大量QUnit测试用于测试ember。我负责使用CI设置应用程序... 查看详情