postgresql alert 更改字段名称报错

2020-12-14  本文已影响0人  小玉1991

项目中,用liquibase来管理数据库版本。在第一次的时候,创建字段名字“tenantId”。在第二个数据库日志文件中,改字段为tenant_id。配置和方法如下

liquibase:
enabled: true
change-log: classpath:db/db_script_all.xml

ALTER TABLE "public"."message" RENAME COLUMN "tenantId" to "tenant_id";

执行没问题,但是再次部署到服务器的时候,报错“tenantId”不存在。经过思考,改为下边的方式,并在navicat上顺利通过自测。故此记录一下。


DO
$do$
BEGIN
IF (select count(*) from information_schema.columns WHERE table_schema = 'public' and table_name = 'message' and column_name = 'tenantId') = 1 --一定要加括号
THEN
  ALTER TABLE  "public"."message" RENAME COLUMN "tenantId" to "tenant_id";
ELSE
   raise notice 'tenantId not exit'; 
END IF;
END
$do$

上一篇 下一篇

猜你喜欢

热点阅读