当前位置: 首页 > 面试题库 >

建议使用Django South重置迁移历史记录的方法是什么?

毋宸
2023-03-14
问题内容

我已经积累了许多使用South(0.7)和Django(1.1.2)进行的迁移,这些迁移在我的单元测试中开始占用大量时间。我想重置基准并开始新的迁移。我已经阅读了South文档,进行了常规的Google / Stackoverflow搜索(例如“ django south(重置或删除或删除)迁移历史记录”),但没有发现任何明显的内容。

我考虑过的一种方法是通过手动“删除” South或“清除”历史记录来“重新开始”(例如,清除db表,从Migrations Director中删除迁移文件),然后重新运行,

./manage.py schemamigration southtut --initial

因此,如果有人以前做过并且有一些提示/建议,将不胜感激。


问题答案:

只要你注意同时在所有部署上执行此操作,就不会有任何问题。就个人而言,我会:

    rm -r appname/migrations/ 
    ./manage.py reset south 
    ./manage.py convert_to_south appname 

(请注意,“ reset south”部分会清除所有应用程序的迁移记录,因此请确保你为所有应用程序运行另外两行或有选择地删除)。

最后的convert_to_south调用进行了新的迁移并对其进行了虚假应用(因为你的数据库已经具有相应的表)。在此过程中,无需删除所有应用程序表。

当我需要摆脱所有这些不需要的开发迁移时,这就是我在开发+生产服务器上正在做的事情:

  1. 确保双方都有相同的数据库架构
  2. 删除两侧的每个迁移文件夹
  3. 运行./manage.py在两侧重置南(如帖子所述)=清除南表*
  4. 在两侧运行./manage.py convert_to_south(伪造0001迁移)
  5. 然后我可以重新开始进行迁移并在服务器上推送迁移文件夹

*除非你只想清理一个应用程序,否则,你将需要编辑south_history表并仅删除有关该应用程序的条目。



 类似资料:
  • 本文向大家介绍php浏览历史记录的方法,包括了php浏览历史记录的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php浏览历史记录的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。

  • 读取播放历史信息 调用地址 http://api.bilibili.cn/history 返回 返回值字段 字段类型 字段说明 results int 返回的记录总数目 list object 返回数据 返回字段 “list” 子项 返回值字段 字段类型 字段说明 aid int 视频编号 typeid int 视频分类ID typename string 视频分类名称 title string

  • 历史记录 控制台维护 Elasticsearch 成功执行的最后500个请求列表。点击窗口右上角的时钟图标即可查看历史记录。这个图标会打开历史记录面板,您可以在其中查看历史请求。您也可以在这里选择一个请求,它将被添加到编辑器中当前光标所在的位置。 图 9. 历史记录面板

  • 3.3.1.1. 同步的文件历史记录 微力同步记录对文件的添加,修改、删除的操作记录,通过历史记录列表可查看时间时间及发生设备,如下: 事件时间,显示添加、修改、删除等操作发生的时间; 文件时间,显示该文件的最后修改时间; 操作类型,显示此次针对该文件所进行的操作的类型; 发生设备,显示进行此操作的设备名称; 目录,显示该文件所属同步目录; 清空历史记录,点击后可清除所有记录,此操作仅清除记录而已

  • 入口: 在路线规划右上角,有历史记录入口,无论“单路线规划”、“多路线规划”的结果,都会自动进行记录,点击进入该界面 在“路线规划”模块下展开二级模块“历史记录”,可以点击进入 历史记录列表 支持按照时间搜索记录 支持单个删除记录 支持一键删除全部记录 支持点击查看规划历史详情 历史详情 记录规划人、规划时间、规划结果 结果详情界面回放、支持点击查看

  • 我有一个例子,在Employee实体和Shift实体之间除了@OneTomany关系之外,还有几个@OneToOne关系。员工有当前轮班、上次轮班和轮班集合,这些轮班集合表示员工已执行轮班的历史记录。下面的代码显示了我如何设置hibernate注释来表示这一点。 下面是一些示例代码来说明我正在尝试做什么。 在上面的Test1方法中,我要为员工创建轮班1-3并填充轮班集合,此外还要指定哪个轮班是员工