sqliteorm的sync_schema介绍
迁移功能
- 在迁移过程中,没有明确的上下函数。取而代之的是sqlite_orm提供的sync_schema函数,它负责将实际的db文件模式和你在make_storage调用中指定的模式进行比较,如果有什么不一样,它就会改变或放弃/创建模式。
storage.sync_schema();
// or
storage.sync_schema(true);
注意事项
- 请注意,sync_schema并不能保证数据会被保存。它只是试图保存数据。下面你可以看到sync_schema在调用时遵循的规则列表。
- 如果db中存在多余的表 它们将被忽略(而不是丢弃)。
- 每一个来自存储的表与它的db模拟和比较
- 如果表不存在,则创建
- 如果表存在,它的列与来自db的table_info进行比较,并且
- 如果保存为false,如果db中存在不存在的列(多余的),表将被丢弃并重新创建,并且表将被复制到没有多余列的临时表中,源表将被丢弃,如果保存为true,复制后的表将被重命名为源表(sqlite删除列技术)。它的默认值是false。要注意的是,将它设置为true可能会花费时间来复制表的行。
- 如果存储空间中的列在db中不存在,那么将使用'ALTER TABLE ... ADD COLUMN ... "命令,表的数据不会被删除,但是如果任何添加的列是空的,但没有默认值,表将被删除并重新创建。
- 如果有任何列存在于db和storage中,但由于任何属性(type, pk, notnull)的不同,表将被删除并重新创建(dflt_value没有被检查,因为默认值可能有歧义,请注意)。
- 最好的做法是在创建存储后立即调用这个函数。
参考链接
- sqlite_orm
sqliteorm的sync_schema介绍相关推荐
- 简单介绍互联网领域选择与营销方法
在我看来,互联网领域的选择是"安家",而营销方法的不同则表现了"定家"的方式多种多样,只有选对了,"家"才得以"安定". ...
- 常用开源协议介绍以及开源软件规范列表
1. 开源协议介绍 GPL: General Public License,开源项目最常用的许可证,衍生代码的分发需开源并且也要遵守此协议.该协议也有很多变种,不同变种要求会略微不同. MPL: MP ...
- python:Json模块dumps、loads、dump、load介绍
20210831 https://www.cnblogs.com/bigtreei/p/10466518.html json dump dumps 区别 python:Json模块dumps.load ...
- pytorch学习笔记(九):PyTorch结构介绍
PyTorch结构介绍 对PyTorch架构的粗浅理解,不能保证完全正确,但是希望可以从更高层次上对PyTorch上有个整体把握.水平有限,如有错误,欢迎指错,谢谢! 几个重要的类型 和数值相关的 T ...
- Python字节码介绍
了解 Python 字节码是什么,Python 如何使用它来执行你的代码,以及知道它是如何帮到你的. 如果你曾经编写过 Python,或者只是使用过 Python,你或许经常会看到 Python 源代 ...
- Pytest - 使用介绍
1. 概述 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 1.简单灵活,容易上手,文档丰富: 2.支持参数化,可以细粒度地控制要测试的测试用例: 3.能够支持简单的单 ...
- 遗传算法的简单介绍以及模式定理的简单证明
遗传算法 遗传算法(Genetic Algorithm,GA),最早是由美国的John holland在20世纪70年代提出.算法通过模拟达尔文生物进化论的自然选择以及遗传学机理的生物进化过程来搜 ...
- k8s核心组件详细介绍教程(配超详细实例演示)
本文实验环境基于上篇文章手把手从零开始搭建k8s集群超详细教程 本文根据B站课程云原生Java架构师的第一课K8s+Docker+KubeSphere+DevOps学习总结而来 k8s核心组件介绍 1 ...
- Tensorrt一些优化技术介绍
Tensorrt一些优化技术介绍 Figure 1. A quantizable AveragePool layer (in blue) is fused with a DQ layer and a ...
最新文章
- 威尔逊定理 ---- [hdu-6608] Fansblog 威尔逊定理 质数的密度分布 快速乘优化快速幂防止中间爆longlong
- IMAX融资5000万美元,三年内要打造25个VR项目
- html响应式布局media,JS中使用media实现响应式布局
- Ways to 优化JAVA程序设计和编码,提高JAVA性能
- 北大AI公开课2019 | 微软亚洲研究院周明:NLP的进步将如何改变搜索体验?
- linux强制踢出用户,Linux下管理员强行踢出用户的命令使用方法
- 隐藏Nginx或Apache以及PHP的版本号的方法
- 【中级软考】面向对象分析包含哪几个活动?
- MFC的CWnd和HWND之间互相转换方法
- 浪潮n系列服务器指示灯_【科恩电气】通用薄型区域传感器 NA2N系列
- mysql对结果限制_在查询中限制MySQL结果
- 计算机组装与维护doc,《计算机组装与维护》课程教案.doc
- 韩昊 20190919-2 功能测试
- 编程中经常遇到的调试没问题,运行却出错的一种原因
- 如何用Python写一个小游戏(2)
- scrapy 爬取大型图片网站(http://5442.com/)
- [论文阅读] (07) RAID2020 Cyber Threat Intelligence Modeling Based on Heterogeneous GCN
- 除了SCI-HUB,还有那么多免费外文文献网站,资源速取。
- 2022-07-31 零基础吉他入门知识
- PE文件之IMAGE_DOS_HEADER
热门文章
- 内存spd规范_C语言内存泄露很严重,如何应对?
- 小数点化分数的过程_分数和小数的互化
- 【转】刨根究底CSS(1):开篇
- 第十一节:WebApi的版本管理的几种方式
- idea提示“ cannot access xxxxxxxx.class“的解决方法,idea的bug
- Hadoop datanode正常启动,但是jps差不多datanode进程,而且Live nodes中却缺少节点
- PWN-PRACTICE-BUUCTF-9
- REVERSE-PRACTICE-BUUCTF-27
- 【LeetCode 2】两数相加(链表)
- 【POJ - 1459】Power Network(网络流最大流,建图)