25 lines
1.1 KiB
XML
25 lines
1.1 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="tech.easyflow.manuagent.mapper.ModelAssignmentMapper">
|
|
|
|
<!-- 角色为主键,单语句 upsert 避免并发设置默认模型时出现先查后写竞态。 -->
|
|
<insert id="upsert">
|
|
INSERT INTO app.model_assignment(role, model_config_id, assigned_by)
|
|
VALUES (
|
|
#{assignment.role},
|
|
#{assignment.modelConfigId, typeHandler=tech.easyflow.manuagent.typehandler.UuidTypeHandler},
|
|
#{assignment.assignedBy, typeHandler=tech.easyflow.manuagent.typehandler.UuidTypeHandler})
|
|
ON CONFLICT (role) DO UPDATE SET
|
|
model_config_id = EXCLUDED.model_config_id,
|
|
assigned_by = EXCLUDED.assigned_by,
|
|
updated_at = CURRENT_TIMESTAMP
|
|
</insert>
|
|
|
|
<delete id="deleteByModelConfigId">
|
|
DELETE FROM app.model_assignment
|
|
WHERE model_config_id = #{modelConfigId,
|
|
typeHandler=tech.easyflow.manuagent.typehandler.UuidTypeHandler}
|
|
</delete>
|
|
</mapper>
|