1.问题
近两天在使用ruoyi-vue-postgresql版时,发现代码生成有问题。生成的vue2前端代码生成异常。无论选不选则字典类型,都会在代码中带上template标签的dict-tag,从而导致报错
2.原因及分析
经过一些列排查发现可能是数据库的gen_table_column表的dict_type默认值设置的问题。
首先从 index.vue.vm 去分析
代码很简单,满足相关条件则生成该条件下的代码。这里通过vm语句获取一下值
#set($dictType=$column.dictType)
#set($isList=$column.list)
并通过标签遍历一下得知
list = true
dictType = ${column.dictType}
发现其未获取到值。随即debug 导入表的接口。发现 dictType==null
所以尝试去gen_table_column 表中更换 dict_type 字段默认值 由NULL改为 空字符串(‘’)
验证发现,问题解决
3.解决办法
gen_table_column 表中更换 dict_type 字段默认值 由NULL改为 空字符串(‘’)
4.问题发生原因
可能是建表语句问题或者数据库版本问题导致的