by kevin
4.
十二月 2012 00:12
>
chicagoboss默认的使用poolboy实现mysql连接池,但是连接池的最大连接数只有10,这个可以需要通过修改源代码boss_db_sup.erl(line:19)中的max_overflow。 使用连接池连接mysql,如果服务器设置了tcp_keepalive_time,那么如果一段时间后,如果了某个连接没有数据交互,相应的socket端口会被关闭,更糟糕的是无论是mysql的服务端,还是应用客户端,都不知道该socket已经关闭,下次请求是会提示"socket is closed",而且无法重新打开。解决的办法是修改mysql_recv.erl(line:98),添加tcp连接选项{keepalive, true},显式要求连接不断开。 chicagoboss支持在每个action执行之前,执行before_{action},执行之后,执...
[更多...]
by kevin
11.
十一月 2012 05:07
>
公司新项目,使用基于erlang的mvc框架chicagoboss,数据库选择mysql。写了一个月的代码,记录些细节的东西。
将mysql表映射成model的功能,在boos_db_adapter_mysql这个模块中实现。
数据库的每张表,都需要id字段,而且字段类型必须是整形。当然,可以通过修改源码去掉这个约束(研究中)。
表名必须是严格复数格式,例如:order->orders, man->men。(ps:inflector:pluralize方法存在bug)
数据库中的外键字段,要命名成{talbe_name}_id,table_name为主表名字。
实体属性的定义遵循Pascal命名(Word1Word2),同时对应数据库字段名word1_word2