若依(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安装就可以了,到这里,前端和后端都应该正常启动了,而且,所有功能都可以正常使用!!

 

posted on 2025-07-20 20:25  sunylat  阅读(527)  评论(0)    收藏  举报