gpt4 book ai didi

postgresql - 如何使用 sqitch postgresql 验证更改列数据类型的更改?

转载 作者:行者123 更新时间:2023-11-29 12:40:40 28 4
gpt4 key购买 nike

我正在进行以下 deploy 更改。将 timestamp 列的值更改为 timestamptz

-- Alter the is_deleted flags to be timestamp with time zone
alter table source_meta.sources alter column is_deleted set data type timestamptz
using
is_deleted at time zone 'UTC';
alter table source_meta.series alter column is_deleted set data type timestamptz
using
is_deleted at time zone 'UTC';

如果数据类型未更改,我如何编写一个验证脚本会出错?

还需要一些关于 revert 的帮助以从 timestamptz 中删除时区。

最佳答案

@nackjicholson,你的解决方案对我来说看起来很不错。如果您想要一个信息更丰富的错误消息,您可以将其包装在 DO block 中并引发错误:

DO $$
BEGIN
PERFORM TRUE
FROM information_schema.columns
WHERE table_name. = 'sources'
AND column_name = 'is_deleted'
AND data_type = 'timestamp with time zone';
IF NOT FOUND THEN
RAISE EXCEPTION 'sources.is_deleted type is not timestamptz';
END IF;
END;
$$;

关于postgresql - 如何使用 sqitch postgresql 验证更改列数据类型的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51903122/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com