GeneXus项目启动
使用GeneXus产品开发项目时,在开始,有一些属性我会经常改一下。我现在使用的GeneXus版本是GeneXus U3,由于在做手机应用的开发,所以一般使用最新的版本,老外那边差不多两个月会有一个upgarde,解决一些bug或者增加一些新的特性。

1. 言归正传,创建一个项目。在创建页面,如果点击Advanced的时候,会弹出一些数据库的配置信息,如下图所示。其实这个数据库并不是我们这个项目的业务数据库,而是GeneXus每创建一个项目,都会默认建立一个数据库用来保存项目信息(这也就是为什么安装GeneXus时也要安装一个SQL Server数据库),所以正常情况下,不用管这个数据库,只是注意后面不要把业务数据库和这个数据库放在一起了。

2. 经过漫长的等待,项目创建好了,接下来改几个属性。【郑重声明:本人所分享的所有经验都是个人在使用过程中所理解的,由于使用场景不一样,未必是百分百正确的,所以大家也要根据自己的情况判断一下】。
1)Enable national language support属性改为Yes,默认值是No。

(有没有感觉经常不知道去哪里找一些属性,里面选项太多了,所以最好用一下Filter功能)。这个属性的作用是,对于vachar或char类型的字段,在建表时,对应的数据库字段是nvarchar或nchar,如果不改,例如建立了一个字段,长度是varchar(20),在页面,其实只能输入10个汉字或20个英文字母,而我们做的项目基本都是国内的,所以一般直接把这个属性的默认值改掉,这样字段长度和业务上的要求就统一了。如果有个别地方不需要启用,只要在不需要的地方把对应字段的这个属性改为No就可以了。

2)Date time storage timezone属性。我们一般会设置为undefined,很少使用(GMT/UTC)时间。因为在GeneXus,每个时间是可以把时区信息包含进去的,我们基本都是国内的项目,也是面向国内的用户,如果设置为GMT/UTC时区,就意味着数据库里面存的时间和你页面上看到的时间会差8个钟头,这个会感觉很别扭(个人喜好…), 其实设置为Application Server也会有时区,不过是相当于以我们服务器时间为标准了,而undefined则是不考虑时区问题了(国内项目可能考虑这个设置)。这个wiki是有很详细的解释(可惜是英文-_-!),大家可以看一下。
点击:Date Time Storage Timezone property

3)Declare referential integrity属性设置为No. 这个属性是属于数据库的配置,如果设置为No,则在创建数据库时不会建立表外键关系,当然这个属性不会影响业务层面之间的关系。主要是我们所开发的系统,客户在上线后会经常有需求变动,或者需要在数据层面维护的工作,所以如果把表之间的制约关系创建了,在调整数据时会非常麻烦。每个人做项目的经验不同,想法不同,大家可以根据实际情况判断。

4)Business Component属性设置为True,由于我们基本上每个Transaction都会使用到Business Component,所以全局的属性设置为True后,每次创建的Transaction的该属性都默认是True,主要是为了省事。

5)Blank when empty属性设置为True,主要是对于日期为空时,希望也是显示空白,默认是显示一些斜杠。其实还有一个就是数字,默认的录入页面,是会显示一个0,目前没有想到好办法去掉…

没有对比就没有伤害,见下图:


暂时就想起这几个,后面想起来了再写…
除了配置之外,还有一个是GeneXus IDE的配置,可以把对象的名字和描述都显示出来,这样在使用的时候会很方便,毕竟随着项目越来越大,只根据名字很难看懂一个对象的作用,尤其是有很多procedure的时候。

GeneXus项目启动的更多相关文章
- maven 项目启动tomcat报错 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
maven项目启动tomcat报错: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi ...
- eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错? java.lang.ClassNotFoundException: com.branchitech.app.startup.AppStartupContextListener java.lang.ClassN
eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错?java. ...
- 项目启动异常java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space 解决办法: Eclipse-->window-->Tomcat -->JVM setting - ...
- 【项目启动】 tomcat启动,项目无法启动,无法正常访问/项目可以启动,报错:java.lang.ClassNotFoundException: ContextLoaderListener
使用maven搭建项目(这个错误和是不是使用maven搭建项目没有关系),然后部署到tomcat中运行. 出现问题1: tomcat跑起来了,但是启动时间很短,没有报错,项目不能正常访问 项目启动时间 ...
- SpringMVC——项目启动时从数据库查询数据
SpringMVC项目中遇到这样的问题: 1.很多数据字典需要从数据库中查询: 2.懒得修改SQL语句: 3.想在项目中声明静态变量存储数据字典,但是希望这个字典可以在项目启动时进行加载. 当遇到这样 ...
- eclipse 中导入 maven项目 启动报错
导入Maven项目到Eclipse中时,出现问题如下: java.lang.ClassNotFoundException: org.springframework.web.context.Contex ...
- 关于ionic开发的一些总结(项目启动设置,app图标名称更改)
1.更改包名称 一般项目刚生成时,ionic会根据项目名称自动给你生成一个包名.要修改包名的话,在根目录的config配置文件中,<widget id="x.x.x"换成自己 ...
- 在web项目启动时,使用监听器来执行某个方法
在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件.初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作. 这里写了个简 ...
- web项目启动流程探索
在web项目的启动过程中,我们希望知道它的一般流程是什么,这样我们就可以在各个流程中加入相应的功能,或者对于我们排错也有帮助. 我们知道,当我们启动tomcat容器以后,容器首先初始化一些必要的组件, ...
随机推荐
- bzoj 1455: 罗马游戏
1455: 罗马游戏 Time Limit: 5 Sec Memory Limit: 64 MB Description 罗马皇帝很喜欢玩杀人游戏. 他的军队里面有n个人,每个人都是一个独立的团.最 ...
- 树上的构造 树分治+树重心的性质 Codeforces Round #190 (Div. 2) E
http://codeforces.com/contest/322/problem/E E. Ciel the Commander time limit per test 1 second memor ...
- JAVA多线程提高十三:同步集合类的应用
1.引言 在多线程的环境中,如果想要使用容器类,就需要注意所使用的容器类是否是线程安全的.在最早开始,人们一般都在使用同步容器(Vector,HashTable),其基本的原理,就是针对容器的每一个操 ...
- JAVA中反射机制五(JavaBean的内省与BeanUtils库)
内省(Introspector) 是Java 语言对JavaBean类属性.事件的一种缺省处理方法. JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法 ...
- 关于linux下crontab mysql备份出来的数据为0字节的问题
问题出在计划任务所执行的脚本上! 脚本中的调用的指令应该都写全路径~ 实例: # crontab -c 编辑下的内容 30 18 * * * /root/backup.sh 意思为:每天18:30执行 ...
- php sprintf格式化注入
URL:http://efa4e2c2b8df4ce69454639f4e3727071652c31167f341a4.game.ichunqiu.com/ 简单的说就是sprintf中%1$\'会将 ...
- python 异常知识点
raise from python 在3.0 之后引入了raise from 表达式: raise exception from otherexception 当使用该语法时,第二个表达式指定了另一个 ...
- linux系统磁盘挂载
1.查看系统磁盘挂载情况 fdisk -l 2.格式化磁盘 mkfs -t ext3 /dev/sdb 3.挂在磁盘 mount /dev/sdb /disk2 4.查看磁盘挂载情况 df -h 5. ...
- angular项目中使用Primeng
1.第一步把依赖添加到项目中 npm install primeng --save npm install @angular/animations --save npm install font-aw ...
- geoip 扩展包根据ip定位详情
教程:https://laravel-china.org/courses/laravel-package/2024/get-the-corresponding-geo-location-informa ...