若依(PostgreSQL版本)搭建过程!
我使用的若依是PostgreSQL版本,对应的后台和前端地址如下:
后台:https://gitee.com/suxia2/RuoYi-Vue-Postgresql
前端:https://gitcode.com/yangzongzhuan/RuoYi-Vue3
搭建过程中遇到一些问题,记录下来,方便自己和大家以后顺利搭建!
一,后台搭建:
1,数据库的欠缺:这个版本的若依后台提供的SQL脚本, sys_user表缺少一个字段,下面是补充的SQL语句:
-- 添加缺失的字段 ALTER TABLE sys_user ADD pwd_update_date timestamp NULL; COMMENT ON COLUMN sys_user.pwd_update_date IS '密码更新时间';
2,雪花ID的使用。
若依默认使用了数据库的自增字段做为主键ID的生成方式,如果存在集群或者分布式的情况,这种主键生成方式应该是不够好了,更好的方式应该是雪花ID。下面是我使用的雪花ID:
官网:https://github.com/yitter/IdGenerator
这是多语言版本的雪花ID生成。
A,首先就是引入雪花ID依赖,在ruoyi-common模块中引入,打开ruoyi-common的pom文件,在依赖项最后加入这个雪花ID的依赖:
<!-- 雪花ID生成--> <dependency> <groupId>com.github.yitter</groupId> <artifactId>yitter-idgenerator</artifactId> <version>1.0.6</version> </dependency>
随后刷新Maven,正常引入之后就可以使用了。
B,全局初始化雪花ID:在ruoyi-admin模块的RuoYiApplication的main方法中,加入雪花ID的初始化代码,初始化代码如下:
/* 雪花ID初始化 参考:https://gitee.com/yitter/idgenerator/tree/master/Java */ IdGeneratorOptions options = new IdGeneratorOptions(); options.WorkerIdBitLength = 6; options.SeqBitLength = 10; options.BaseTime = System.currentTimeMillis(); //options.Method = method; options.WorkerId = 1; // 首先测试一下 IdHelper 方法,获取单个Id YitIdHelper.setIdGenerator(options);

C,把serive实现类中的insert方法中的参数类的主键修改为雪花ID,仅以sys_config表对应的类举例,对应的实现类:com.ruoyi.system.service.impl.SysConfigServiceImpl,修改insertConfig方法,给参数类config的主键添加雪花ID,这样在插入数据的时候,主键才会真正是雪花ID,具体代码如下:
/** * 新增参数配置 * * @param config 参数配置信息 * @return 结果 */ @Override public int insertConfig(SysConfig config) { //设置雪花ID主键 config.setConfigId(YitIdHelper.nextId()); int row = configMapper.insertConfig(config); if (row > 0) { redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); } return row; }
D,检查上面insert方法对应的SQL语句,是否主键字段添加了,如果未添加应该添加上,这样才能够保证插入的正确性:

通过以上,就可以保证可以使用雪花ID了!
二,前端工程的修改:前端需要修改后台访问的url,分别在三个文件中的不同部位,修改后才能保证所有功能正常!
1,request.js

2,vite.config.js

3,download.js

修改完这些后,先启动后台,如果正常启动后台后,前端安装了依赖后,就能够正常运行了,但是,前端很可能还会遇到一个问题,就是vite-plugin-svg-icons版本低的问题,这会导致前端启动报错,解决方式是升级它的版本,修改package.json中的对应版本为更高版本:

重新用npm安装就可以了,到这里,前端和后端都应该正常启动了,而且,所有功能都可以正常使用!!
浙公网安备 33010602011771号