From 24e1055d0cce6d212d5c2e9aeffe4df3d611af19 Mon Sep 17 00:00:00 2001 From: pasha1coil Date: Fri, 6 Jun 2025 16:54:00 +0300 Subject: [PATCH] create 23 migarate for update colum sex in table gigachatAudience --- dal/schema/000023_init.down.sql | 0 dal/schema/000023_init.up.sql | 14 ++++++++++++++ model/gigachat.go | 2 +- sqlc.yaml | 2 ++ 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 dal/schema/000023_init.down.sql create mode 100644 dal/schema/000023_init.up.sql diff --git a/dal/schema/000023_init.down.sql b/dal/schema/000023_init.down.sql new file mode 100644 index 0000000..e69de29 diff --git a/dal/schema/000023_init.up.sql b/dal/schema/000023_init.up.sql new file mode 100644 index 0000000..94c6a96 --- /dev/null +++ b/dal/schema/000023_init.up.sql @@ -0,0 +1,14 @@ +BEGIN; +ALTER TABLE gigachatAudience RENAME COLUMN Sex TO Sex_old; +ALTER TABLE gigachatAudience ADD COLUMN Sex INTEGER; +UPDATE gigachatAudience +SET Sex = CASE + WHEN Sex_old = FALSE THEN 0 + WHEN Sex_old = TRUE THEN 1 + ELSE 2 +END; +ALTER TABLE gigachatAudience DROP COLUMN Sex_old; +ALTER TABLE gigachatAudience ALTER COLUMN Sex SET NOT NULL; +ALTER TABLE gigachatAudience + ADD CONSTRAINT check_sex_valid_values CHECK (Sex IN (0, 1, 2)); +COMMIT; diff --git a/model/gigachat.go b/model/gigachat.go index 4b93f2a..908b23b 100644 --- a/model/gigachat.go +++ b/model/gigachat.go @@ -42,7 +42,7 @@ var EmptyResponseErrorGigaChat = errors.New("empty response from GigaChat try ag type GigaChatAudience struct { ID int64 `json:"id"` QuizID int64 `json:"quiz_id"` - Sex bool `json:"sex"` // false - female, true - male + Sex int `json:"sex"` // 0 - female, 1 - male, 2 - not sex Age string `json:"age"` Deleted bool `json:"deleted"` CreatedAt int64 `json:"created_at"` diff --git a/sqlc.yaml b/sqlc.yaml index faf4c77..d1fa689 100644 --- a/sqlc.yaml +++ b/sqlc.yaml @@ -46,6 +46,8 @@ packages: - "./dal/schema/000021_init.down.sql" - "./dal/schema/000022_init.up.sql" - "./dal/schema/000022_init.down.sql" + - "./dal/schema/000023_init.up.sql" + - "./dal/schema/000023_init.down.sql" engine: "postgresql" emit_json_tags: true emit_db_tags: true