服务端小白,问了 GPT 让先查出来,感觉先查再插入不太对劲,有点麻烦,是否有其他简便方法?
问题案例 { name:'123', code:'345', dep:'789', type:'666' }
如何保证插入数据时,name 和 code 都是唯一的呢?
1
codehz 2023-07-31 17:46:07 +08:00
直接在数据库里上 unique 索引不就好了? orm 应该也提供类似功能吧
|
2
LandCruiser OP @codehz typeORM 提供了 unique 装饰器,但是不起作用,我查资料说是只有数据库迁移的时候才起作用,离谱。
|
3
jiangzm 2023-07-31 17:50:51 +08:00
应该是结构没同步好,手动加下唯一索引就好
|
4
LandCruiser OP |
5
Belmode 2023-07-31 18:03:23 +08:00
表结构同步和迁移这个流程本来就不包含再应用里面。
即使添加了正确的装饰器,把服务运行起来,也肯定会自动处理表结构的。 参考 https://typeorm.bootcss.com/migrations , 手动运行一下 migration 流程。 |
6
wu00 2023-07-31 19:03:22 +08:00
非常常见、最简单、最安全
|
7
kongkx 2023-07-31 20:11:26 +08:00 via iPhone
用 migration 控制数据库应该不会出现这么问题吧。如果一些特殊的情况不能直接生成 migration ,也应该是在 migration 上面改吧。
|
8
LandCruiser OP |