This commit is contained in:
vipg
2025-11-14 17:00:30 +08:00
parent 0f7f692c93
commit c0b55c82df
4 changed files with 50 additions and 18 deletions

View File

@@ -0,0 +1,7 @@
CREATE OR REPLACE FUNCTION update_data_modified_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = CURRENT_TIMESTAMP;
RETURN NEW;
END;
$$ LANGUAGE plpgsql VOLATILE;

View File

@@ -1,14 +1,6 @@
-- 切换到目标数据库
\c postgres;
CREATE OR REPLACE FUNCTION update_record_modified_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = CURRENT_TIMESTAMP;
RETURN NEW;
END;
$$ LANGUAGE plpgsql VOLATILE;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'record') THEN
@@ -21,7 +13,7 @@ BEGIN
CREATE TRIGGER update_record_updated_at
BEFORE UPDATE ON "record"
FOR EACH ROW
EXECUTE FUNCTION update_record_modified_column();
EXECUTE FUNCTION update_data_modified_column();
RAISE NOTICE 'created record table and trigger';
ELSE

View File

@@ -1,14 +1,6 @@
-- 切换到目标数据库
\c postgres;
CREATE OR REPLACE FUNCTION update_deal_modified_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = CURRENT_TIMESTAMP;
RETURN NEW;
END;
$$ LANGUAGE plpgsql VOLATILE;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'deal') THEN
@@ -42,7 +34,7 @@ BEGIN
CREATE TRIGGER update_deal_updated_at
BEFORE UPDATE ON "deal"
FOR EACH ROW
EXECUTE FUNCTION update_deal_modified_column();
EXECUTE FUNCTION update_data_modified_column();
-- 1. 开仓日期索引(支持「未删除+开仓日期」查询)
CREATE INDEX idx_trade_open_date ON deal (deleted, open_year, open_month, open_day);

View File

@@ -0,0 +1,41 @@
-- 切换到目标数据库
\c postgres;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'variety') THEN
CREATE TABLE variety (
id UUID DEFAULT gen_random_uuid_v7() PRIMARY KEY NOT NULL,
deleted BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE TRIGGER update_variety_updated_at
BEFORE UPDATE ON "variety"
FOR EACH ROW
EXECUTE FUNCTION update_data_modified_column();
RAISE NOTICE 'created variety table and trigger';
ELSE
RAISE NOTICE 'variety table already exists';
END IF;
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'variety_name') THEN
CREATE TABLE variety_name (
id UUID DEFAULT gen_random_uuid_v7() PRIMARY KEY NOT NULL,
name VARCHAR(50) NOT NULL,
code VARCHAR(50) NOT NULL,
deleted BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE TRIGGER update_variety_name_updated_at
BEFORE UPDATE ON "variety_name"
FOR EACH ROW
EXECUTE FUNCTION update_data_modified_column();
RAISE NOTICE 'created variety_name table and trigger';
ELSE
RAISE NOTICE 'variety_name table already exists';
END IF;
END $$;