程序自动为我们添加了字段,以及创建了索引!
前面的几个SHOW,就是XCode的正向工程,取得数据库表结构,然后跟实体类结构对比,不相同时执行反向操作。
反向工程设置
大家还记得上一章系统设置中提到的Migration吗?
XCode.config和连接字符串中都支持这个设置。
可用设置项如下:
Off 关闭,不执行反向工程
ReadOnly 只读不执行,异步执行反向工程检查,对比后生成变更DDL写入日志
On 打开,仅新建,默认设置。新建表、增加字段、创建索引等可以执行,禁止修改字段长度类型,禁止删除字段,以免造成数据丢失
Full 完全,修改删除。除了新建表、增加字段、创建索引外,还可以修改字段长度类型、删除字段等,极其危险,慎用
反向工程设计于2008年,10多年经验表明,默认On最合理,不仅满足开发需要,(随时加字段),还避免了字段改变而导致的数据丢失风险;
反向工程如此神奇的功能,你想到了什么高端用法吗?我们将在数万级分表分库章节等你!
系列教程
NewLife.XCode教程系列[2019版]
增删改查入门。快速展现用法,代码配置连接字符串
数据模型文件。建立表格字段和索引,名字以及数据类型规范,推荐字段(时间,用户,IP)
实体类详解。数据类业务类,泛型基类,接口
功能设置。连接字符串,调试开关,SQL日志,慢日志,参数化,执行超时。代码与配置文件设置,连接字符串局部设置
反向工程。自动建立数据库数据表
数据初始化。InitData写入初始化数据
高级增删改。重载拦截,自增字段,Valid验证,实体模型(时间,用户,IP)
脏数据。如何产生,怎么利用
增量累加。高并发统计
事务处理。单表和多表,不同连接,多种写法
扩展属性。多表关联,Map映射
高级查询。复杂条件,分页,自定义扩展FieldItem,查总记录数,查汇总统计
数据层缓存。Sql缓存,更新机制
实体缓存。全表整理缓存,更新机制
对象缓存。字典缓存,适用用户等数据较多场景。
百亿级性能。字段精炼,索引完备,合理查询,充分利用缓存
实体工厂。元数据,通用处理程序
角色权限。Membership
导入导出。Xml,Json,二进制,网络或文件
分表分库。常见拆分逻辑
高级统计。聚合统计,分组统计
批量写入。批量插入,批量Upsert,异步保存
实体队列。写入级缓存,提升性能。
备份同步。备份数据,恢复数据,同步数据
数据服务。提供RPC接口服务,远程执行查询,例如SQLite网络版
大数据分析。ETL抽取,调度计算处理,结果持久化