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容器以后,容器首先初始化一些必要的组件, ...
随机推荐
- 介绍 JSON (转)
本文转自:http://www.json.org/json-zh.html JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于 ...
- Android Studio Gradle's dependency cache may be corrupt Re-download dependencies and sync project (requires network)
转:Android studio 快速解决Gradle's dependency cache may be corrupt 和 Gradle配置 gradle-3.*-all.zip快速下载 Andr ...
- 洛谷 U3357 C2-走楼梯
https://www.luogu.org/problem/show?pid=U3357 题目背景 在你成功地解决了上一个问题之后,方方方不禁有些气恼,于是他在楼梯上跳来跳去,想要你求出他跳的方案数. ...
- [csp-201809-3]元素选择器-编译原理
声明:同样是参考照抄hyh学长的代码!(有问题我马上删这篇emm 题目链接:http://118.190.20.162/view.page?gpid=T77 题面: 这棵树的样子(同样是来自学长的图) ...
- 【CodeForces】671 B. Robin Hood
[题目]B. Robin Hood [题意]给定n个数字的序列和k次操作,每次将序列中最大的数-1,然后将序列中最小的数+1,求最终序列极差.n<=5*10^5,0<=k<=10^9 ...
- jquery 中$符号六大作用
jquery 中$符号六大作用 2012-12-16 86市场网 javascript a.$用作选择器, var e = $("h1 a"); var f = $("t ...
- 【leetcode 简单】第二十三题 二叉树的最大深度
给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15,7], ...
- MOD - Power Modulo Inverted(SPOJ3105) + Clever Y(POJ3243) + Hard Equation (Gym 101853G ) + EXBSGS
思路: 前两题题面相同,代码也相同,就只贴一题的题面了.这三题的意思都是求A^X==B(mod P),P可以不是素数,EXBSGS板子题. SPOJ3105题目链接:https://www.spoj. ...
- HDU 5995 Kblack loves flag (模拟)
题目链接 Problem Description Kblack loves flags, so he has infinite flags in his pocket. One day, Kblack ...
- 39、请用代码简答实现stack
栈和队列是两种基本的数据结构,同为容器类型.两者根本的区别在于: stack:后进先出 queue:先进先出 PS:stack和queue是不能通过查询具体某一个位置的元素而进行操作的.但是他们的排列 ...