2019-05-08 18:06

@糊搞 嗯,对,这是个梗。哎对了,根据你这个原理, 还可以使用模版函数也可以达到这样的效果。在公共的模版地方增加一个 :
#define paradef(val, defVal)
#if(val) #para(val) #else #para(defVal) #end
#end
使用的时候 #@paradef(START_DATE, '1000-01-01 00:00:00')
这个肯定可以

2019-05-08 17:45

赞!不知道“空合并安全取值调用操作符”?? 可以用不, 回头实验一下
#para(val ?? '0000-01-01 00:00:00')

2019-05-08 12:02

job任务代码 不在一个classLoader系列?

2019-05-07 13:57

@yang1995 postgresql没有使用过,你开启事务了 ?先用 DEMO跑通了再放业务里试试。

2019-05-06 12:38

你说的是https://www.jfinal.com/doc/6-4 第 7 个 “7、#render 指令”吧 ?
#render 指令的核心目的在于支持动态模板参数

2019-04-30 17:59

@琴海森林 就佩服你们做开源项目的人, 要付出太多太多时间和精力去维护这个项目。我就写写短篇分享划划水了

2019-04-30 17:46

@JFinal 以前学习EOVA @Jieven 老师的项目,了解了MySQL的information_schema数据库。以及里面的:
SCHEMATA表
---SCHEMATA表提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。
TABLES表
---TABLES表提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间,等等信息。是show tables from schemaname的结果取之此表。

这两个表, 根据这两个表, 就能比对数据库的差异。 根据差异生成对应SQL。就能做到为平台多租户的SaaS客户实现全库升级。轻轻松松实现上百个库同时升级。而ActiveRecordPlugin天然支持任何连接,不限制是否是一台机器,也就支持了操作集群数据库的骚操作了

2019-04-30 17:32

@zz210891470 https://www.jfinal.com/share/1573

2019-04-30 15:55

PS:建库 一定要记得使用 管理员(有权限的)比如root , 阿里云等云数据库是 不给这个账户的, 你得申请为 超级管理员账户,才能好使

2019-04-30 15:41

我有几个项目就是用的动态建库以及更新数据库, 因为是传统项目改造过去的。 所以一个客户就是一个数据库。这样就产生了很多数据库, 数据库结构都一样。 升级功能和维护表结构的时候, 就需要同步处理所有的库。 手动处理是不能的。就是利用 Db.use(xx).update去执行各种sql, 增删改查。
如果项目是 Db + Record 的话, ActiveRecordPlugin 启动后,是不用管的,是天然动态的。
如果是Model的话,ActiveRecordPlugin 需要重启的,先关闭再开启一下就可以了, 或者代码处理一下 Mapping 那个管理类,详细去看源码,不多,加起来只有几百行

2019-04-20 12:33

赞,利用Enjoy 的Shared Method 扩展或者 Shared Object扩展 ,把 jfinal的 Db工具类 放入Enjoy对象 就能支持直接写SQL了

2019-04-20 12:27

看来楼主已经找到方法了。
Handler可以接管所有web请求, 在handle方法里 改变 target 参数,将其变为一个参数传递到后面的handle, https://www.jfinal.com/doc/2-7