Compare commits
2 Commits
0f7f692c93
...
6cf728b5b6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6cf728b5b6 | ||
|
|
c0b55c82df |
@@ -1,30 +0,0 @@
|
|||||||
-- 切换到目标数据库
|
|
||||||
\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
|
|
||||||
CREATE TABLE record (
|
|
||||||
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_record_updated_at
|
|
||||||
BEFORE UPDATE ON "record"
|
|
||||||
FOR EACH ROW
|
|
||||||
EXECUTE FUNCTION update_record_modified_column();
|
|
||||||
|
|
||||||
RAISE NOTICE 'created record table and trigger';
|
|
||||||
ELSE
|
|
||||||
RAISE NOTICE 'record table already exists';
|
|
||||||
END IF;
|
|
||||||
END $$;
|
|
||||||
@@ -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;
|
||||||
@@ -1,16 +1,25 @@
|
|||||||
-- 切换到目标数据库
|
-- 切换到目标数据库
|
||||||
\c postgres;
|
\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 $$
|
DO $$
|
||||||
BEGIN
|
BEGIN
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'record') THEN
|
||||||
|
CREATE TABLE record (
|
||||||
|
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_record_updated_at
|
||||||
|
BEFORE UPDATE ON "record"
|
||||||
|
FOR EACH ROW
|
||||||
|
EXECUTE FUNCTION update_data_modified_column();
|
||||||
|
|
||||||
|
RAISE NOTICE 'created record table and trigger';
|
||||||
|
ELSE
|
||||||
|
RAISE NOTICE 'record table already exists';
|
||||||
|
END IF;
|
||||||
|
|
||||||
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'deal') THEN
|
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'deal') THEN
|
||||||
CREATE TABLE deal (
|
CREATE TABLE deal (
|
||||||
id UUID DEFAULT gen_random_uuid_v7() PRIMARY KEY NOT NULL,
|
id UUID DEFAULT gen_random_uuid_v7() PRIMARY KEY NOT NULL,
|
||||||
@@ -42,7 +51,7 @@ BEGIN
|
|||||||
CREATE TRIGGER update_deal_updated_at
|
CREATE TRIGGER update_deal_updated_at
|
||||||
BEFORE UPDATE ON "deal"
|
BEFORE UPDATE ON "deal"
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
EXECUTE FUNCTION update_deal_modified_column();
|
EXECUTE FUNCTION update_data_modified_column();
|
||||||
|
|
||||||
-- 1. 开仓日期索引(支持「未删除+开仓日期」查询)
|
-- 1. 开仓日期索引(支持「未删除+开仓日期」查询)
|
||||||
CREATE INDEX idx_trade_open_date ON deal (deleted, open_year, open_month, open_day);
|
CREATE INDEX idx_trade_open_date ON deal (deleted, open_year, open_month, open_day);
|
||||||
41
backend/futures_trade_record/sql/04_create_variety_table.sql
Normal file
41
backend/futures_trade_record/sql/04_create_variety_table.sql
Normal 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 $$;
|
||||||
Reference in New Issue
Block a user