mysql ecos_ecos的dbschema

dbschema

base/dbschema/apps.php

$db['apps'] = array('columns'=>array('app_id'=>array('type'=>'varchar(32)',

'required'=>true,

'default'=>'',

'pkey'=>true,

//begin 和 desktop 相关

'with'=>100,

'label'=>app::get('base')->_('程序目录'),

'hidden'=>1,

'editable'=>false,

'in_list'=>true,

'default_in_list'=>false),

'app_name'=>array('type'=>'varchar(50)',

//begin 和 desktop相关

'with'=>150,

'label'=>app::get('base')->_('应用程序'),

'is_title'=>1,

'in_list'=>true,

'default_in_list'=>1),

'status' => array('type' => array('installed' => app::get('base')->_('已安装, 未启动'),

'resolved' => app::get('base')->_('已配置'),

'starting' => app::get('base')->_('正在启动'),

'active' => app::get('base')->_('运行中'),

'stopping' => app::get('base')->_('正在关闭'),

'uninstalled' => app::get('base')->_('尚未安装'),

'broken' => app::get('base')->_('已损坏'),),

//begin 和desktop相关 ----------------------

'label' => app::get('base')->_('状态'),

'width' => 100,

'default' => 'uninstalled',

'in_list' => true,

'default_in_list' => true,

//end --------------------------------------

),

'remote_config'=> array('type'=>'serialize')

),

'version'=>'$Rev: 44008 $',

'unbackup'=>true);

上述代码经过解析生成sql语句

dbschema来描述表结构

ecos安装时,会扫描相关app中的dbschema中的文件,用这个文件生成相应的表结构并创建

约定base/dbschema/apps

生成的表sdb_base_apps  sdb表前缀 base是appname

对应model base_mdl_apps

columns

表字段

注意!type字段类型,pkey是否主键,extra=>'auto_increment'自增长,type=>'table:goods'对应用于用于app下goods表的主键类型(其实这里是外键了,所以类型和goods表的主键相同)

字段名称

字段名称就是键值

type

mysql字段类型,int、varchar、text

枚举类型type=>array() 对应mysql的enum //desktop 高级搜索产生一个select选项可以进行选择

特有的类型

money 对应 decimal(20,3)//涉及到金额 dbeav的save会验证是否是money类型的数据

email 对应 varchar(255)//dbeav的save会验证是否是email类型的数据

bn 对应 varchar(255)//商品的货号 货品的货号 订单号等等

html 对应 text//商品详情 文章内容等

bool 对应 enum('true','false')//开关类型

time 对应 int(10) unsigned(无符号)//desktop的高级搜索绑定日历

cdate 对应 int(10) unsigned

intbool 对应 enum('0','1')//开关类型

region 对应 varchar(255)

password 对应 varchar(32) md5加密后的字符串

tinybool 对应 enum('Y','N')//开关类型

number 对应 mediumint unsigned//数量等类型

float 对应 float

gender 对应 enum('male','false')//性别

ipaddr 对应 varchar(20) //ip地址

serialize 对应 longtext//

last_modify 对应 int(10) unsigned //和time类型相似,可以理解为最后更新时间

table:table_name 将本app下的table_name这个表的主键作为关联关系

required

true false(mysql "not null")

default

pkey 是否主键

primary key()

extra

扩展值

extra=>'auto_increment' mysql auto_increment

extra=>'CHARACTER SET "utf8"' mysql CHARACTER SET "utf8"

index

索引 默认为空

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name

[index_type]

ON tbl_name (index_col_name,...)

[index_type]

index_col_name:

col_name [(length)] [ASC | DESC]

index_type:

USING {BTREE | HASH | RTREE}

<?php 'index' => array('ind_prefix' => array( //索引名称

'columns' => array( //要创建索引的数据库字段名

0 => 'prefix',),

'prefix' => '' //索引的类型 UNIQUE|FULLTEXT|SPATIAL 如果为空 为一般的索引

'type' => '' //指定索引算法 BTREE | HASH | RTREE

)

)?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
简化数据库设计和管理。 使用友好的GUI工具编辑,记录和浏览复杂的数据库。 使用布局简化数据库设计。 通过关注数据库架构的特定部分,可以更好地理解复杂的数据库。 使用我们直观的UI,可以很容易地为复杂模式创建数据库设计。 该界面使您能够简单地通过拖放或双击来执行复杂的动作。 同时轻松浏览来自多个表的数据。 无需成为SQL专家! DbSchema将帮助您编写SQL查询。 具有文本自动补全功能的强大编辑器。 支持所有SQL和NoSQL数据库 DbSchema通过创建自己的保存到项目文件中的架构的本地副本以独特的方式工作。 本地项目文件可以: 使用GIT或任何其他版本控制系统与团队一起处理项目文件 将设计保存到XML项目文件并使用任何文本编辑器将其打开 在多台服务器上部署一个架构 在不同版本之间迁移一个架构并生成迁移脚本 没有数据库连接的设计架构( 脱机 ) 为您的数据库架构生成PDF或交互式HTML5文档。 DbSchema可以比较不同数据库或不同项目文件之间的方案,显示它们并生成迁移脚本。 如果数据库缺少外键,则可以创建将仅保存在DbSchema中的虚拟外键 。 它们将帮助您更好地了解数据库。 这些外键用绿色标记。 使用可配置,随机和反向正则表达式 。 使用JDBC驱动程序连接到任何数据库,对结构进行反向工程,并将其作为ER图查看。 利用具有文本自动完成功能,Groovy脚本支持,脚本和查询执行功能的强大SQL编辑器。 将数据从CSV,XML等加载到数据库中。 使用文本输入,按钮和图表构建简单的Web报表或应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值