Closed Kaiser-Yang closed 2 months ago
通过测试后发现,如果在 MyBatis-Plus 中设置了主键字段的类型为 auto (自增主键),由于数据库在创建的时候设置了 pk_user_id bigint DEFAULT nextval('public.users_id_seq'::regclass) NOT NULL 这会导致使用 mybatis-plus 的脚本进行插入的时候 id 会以步长 2 进行自增 (0, 2, 4, ...) 如下图所示:
MyBatis-Plus
auto
pk_user_id bigint DEFAULT nextval('public.users_id_seq'::regclass) NOT NULL
mybatis-plus
id
2
因此需要删除创建表中对应的默认值部分。
此外,阿里巴巴 java 中的规范提到 主键索引名为pk_字段名 因此,应该在创建约束的部分对索引进行以 pk_ 开头的命名,而不是在创建表的时候进行如此的命名,表中的主键字段名称全部更改为 id。
java
主键索引名为pk_字段名
pk_
对于唯一索引 (all_column_contraint.sql 中):
all_column_contraint.sql
ALTER TABLE ONLY public.t_user ADD CONSTRAINT users_email_key UNIQUE (email); ALTER TABLE ONLY public.t_user ADD CONSTRAINT users_username_key UNIQUE (username);
由于使用了逻辑删除,所以当一个用户进行了注销操作后,真正的数据不会被删除,当这个用户重新进行注册的时候,由于唯一索引的存在会导致之前的注册邮箱无法使用,因此目前建议直接删除唯一索引。
另外发现 sql 脚本中有很多的行末空格,应该删除不必要的行末空格。
sql
通过测试后发现,如果在
MyBatis-Plus
中设置了主键字段的类型为auto
(自增主键),由于数据库在创建的时候设置了pk_user_id bigint DEFAULT nextval('public.users_id_seq'::regclass) NOT NULL
这会导致使用mybatis-plus
的脚本进行插入的时候id
会以步长2
进行自增 (0, 2, 4, ...) 如下图所示:因此需要删除创建表中对应的默认值部分。
此外,阿里巴巴
java
中的规范提到主键索引名为pk_字段名
因此,应该在创建约束的部分对索引进行以pk_
开头的命名,而不是在创建表的时候进行如此的命名,表中的主键字段名称全部更改为id
。对于唯一索引 (
all_column_contraint.sql
中):由于使用了逻辑删除,所以当一个用户进行了注销操作后,真正的数据不会被删除,当这个用户重新进行注册的时候,由于唯一索引的存在会导致之前的注册邮箱无法使用,因此目前建议直接删除唯一索引。
另外发现
sql
脚本中有很多的行末空格,应该删除不必要的行末空格。