修改flexorm支持字段大小
在EntityIntrospector类的extractColumn修改为:
private function extractColumn(v:Object, entity:Entity, property:String):String
{
var column:String = StringUtil.trim(v.metadata.(@name == Tags.ELEM_COLUMN).arg.(@key == Tags.ATTR_NAME).@value.toString());
var length:Number = parseInt(StringUtil.trim(v.metadata.(@name == Tags.ELEM_COLUMN).arg.(@key == "length").@value.toString()));
if (column == null || column.length == 0)
{
column = usingCamelCaseNames() ?
property : StringUtils.underscore(property).toLowerCase();
}
entity.addField(new Field(
{
property: property,
column : column,
type : getSQLType(v.@type),
length : length
}));
return column;
}
在Field类增加length 字段
在SQLCommand类修改addColumn方法签名为
public function addColumn(column:String, param:String=null, table:String=null,length:Number = Number.NaN),并将相应的错误改正
在EntityIntrospector类中将
for each(var f:Field in entity.fields)
{
if (entity.hasCompositeKey() || (pk.property != f.property))
{
selectCommand.addColumn(f.column, f.property);
insertCommand.addColumn(f.column, f.property);
updateCommand.addColumn(f.column, f.property);
createSynCommand.addColumn(f.column, f.type);
createAsynCommand.addColumn(f.column, f.type);
}
}
修改为
for each(var f:Field in entity.fields)
{
if (entity.hasCompositeKey() || (pk.property != f.property))
{
selectCommand.addColumn(f.column, f.property);
insertCommand.addColumn(f.column, f.property);
updateCommand.addColumn(f.column, f.property);
createSynCommand.addColumn(f.column, f.type);
createSynCommand.addColumn(f.column, f.type,null,f.length);
createAsynCommand.addColumn(f.column, f.type,null,f.length); }
}
在CreateSynCommand类中:
修改addColumn为
override public function addColumn(column:String, type:String=null, table:String=null,length:Number = Number.NaN):void
{
_columns[column] = { type: type };
if(isNaN(length)){
var defualtLength:int = 20;
if(type =="date") defualtLength = 14;
else if(type = "boolean") defualtLength = 8;
_columns[column]["length"] = defualtLength;
}else{
_columns[column]["length"] = length;
}
_changed = true;
}
修改buildCreateSQL方法为
private function buildCreateSQL():String
{
var sql:String = StringUtil.substitute("create table if not exists {0}.{1}(", _schema, _table);
if (_pk)
sql += _pk + ",";
for (var column:String in _columns)
{
sql += StringUtil.substitute("{0} {1} (" + _columns[column].length + "),", column, _columns[column].type);
}
sql = sql.substring(0, sql.length - 1) + ")"; // remove last comma
LibLogManager.log(this,sql);
return sql;
}
差一个主键没有实现
修改flexorm支持字段大小相关推荐
- 修改 mysql 支持远程连接
修改 mysql 支持远程连接 use mysqlmysql> select host, user from user; 将相应用户数据表中的host字段改成'%': update user s ...
- linux共享内存变量 tiaojianbianliang,修改linux共享内存大小
这是实际linux系统显示的实际数据: beijibing@bjb-desktop:/proc/sys/kernel$ cat shmmax 33554432 beijibing@bjb-deskto ...
- linux+nginx+mysql+php系统修改文件上传大小限制
linux+nginx+mysql+php系统修改文件上传大小限制 对于LNMP框架的一些网站,上传文件大小会受到多个方面的限制,一个是nginx本身的限制,限制了客户端上传文件的大小,会报错&quo ...
- mysql 修改自增字段起始值不生效_Mysql数据库基本介绍
1.mysql不分大小写, 他是存放数据的数据库管理系统字符集使用utf-8,python分大小写,r也分大小写,常用的数据库是关系型数据库,workbench编辑工具,Ctrl+回车执行: 2.一个 ...
- 移植uboot之修改代码支持NorFlash记录续集
接着上一篇文章写的内容(上一篇文章链接:移植uboot之修改代码支持NORFLASH),上一篇结尾测试flash的擦除读写功能,结果无法写flash,卡在了这里: 前面已经擦除成功,这里写内容写不进去 ...
- 字节跳动1/3员工不支持取消大小周!库克称iPhone将采用可回收材料生产;清华博士接亲被要求现场写代码|极客头条...
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...
- MathType中如何批量修改公式字体和大小
MathType中如何批量修改公式字体和大小 关于MathType : MathType 是由美国Design Science公司开发的功能强大的数学公式编辑器,它同时支持Windows和Macint ...
- 如何修改图片像素尺寸大小?如何改图片大小尺寸?
修改图片尺寸是一项常见的图片处理技术,可以帮助我们将图片调整为不同的尺寸,以适应不同的用途.在进行修改图片大小(https://www.yasuotu.com/size)的时候,需要注意照片的比例.设 ...
- SQL查看表字段信息如:字段名、字段类型、字段精度、字段大小、索引、主键等
目录 表名.字段名.字段类型.字段精度.字段大小 字段名.是否为主键.字段类型.字段大小.索引名 千人全栈VIP答疑群联系博主帮忙解决报错 表名.字段名.字段类型.字段精度.字段大小 SQL: use ...
最新文章
- 这些神经网络,还可信吗?
- 利用PySpark进行迁移学习的多类图像分类
- Ant Design入门之介绍
- raft中集群成员变更
- 前端学习(1133):正则表达式概述
- MTK 驱动开发(43)---GPS问题分类--MTK ALPS GPS的特殊知识
- 日赚4.5亿!腾讯游戏业务增长惊人:最赚钱的还是它两!
- python将excel文件变成txt文件
- 5. MVC,MVP 和 MVVM
- 汉字在字库中的偏移地址计算、显示方法
- 打工人准时下班踩点利器——python写一个自动关机程序并打包成exe文件
- 什么是私有云、公有云、混合云?什么是云计算管理平台?
- # cmake --version -bash: /usr/bin/cmake: Too many levels of symbolic links
- 利用Google API 进行IP地址定位
- 破解root密码详细流程
- Lotus Notes 邮件归档设置
- 金工如何运用计算机思维,金工实训心得体会
- 瑞芯微RK3399宣布系统开源
- react ts环境搭建及ts格式写法
- 制作Ubuntu的U盘启动盘
热门文章
- ssis sql_SSIS OLE DB来源:SQL命令与表或视图
- 批量关停azure vm_如何在Azure中使用Visual Studio和VM数据库
- 结局就在附近! (对于SQL Server 2008和SQL Server 2008 R2)
- python 空值(NoneType)
- vs2017_enterprise正式版离线安装包bt下载
- WindowsXP 下搭建PHP环境(笔记)
- Centos下安装JDK环境配置
- 圣斗士星矢服务器维护时间,圣斗士星矢正义传说开服时间表 什么时候开新服...
- .net下汇总搜索引擎关键字编码
- BUAAOO电梯作业总结