This commit is contained in:
@@ -1,24 +1,60 @@
|
||||
ALTER TABLE brand_questions
|
||||
ADD COLUMN IF NOT EXISTS question_text TEXT;
|
||||
|
||||
UPDATE brand_questions q
|
||||
SET question_text = COALESCE(
|
||||
(
|
||||
SELECT v.question_text
|
||||
FROM brand_question_versions v
|
||||
WHERE v.id = q.current_version_id
|
||||
LIMIT 1
|
||||
),
|
||||
(
|
||||
SELECT v.question_text
|
||||
FROM brand_question_versions v
|
||||
WHERE v.question_id = q.id
|
||||
ORDER BY v.version_no DESC, v.id DESC
|
||||
LIMIT 1
|
||||
),
|
||||
''
|
||||
)
|
||||
WHERE q.question_text IS NULL;
|
||||
DO $$
|
||||
BEGIN
|
||||
IF to_regclass('public.brand_question_versions') IS NOT NULL
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = 'public'
|
||||
AND table_name = 'brand_questions'
|
||||
AND column_name = 'current_version_id'
|
||||
)
|
||||
THEN
|
||||
EXECUTE $sql$
|
||||
UPDATE brand_questions q
|
||||
SET question_text = COALESCE(
|
||||
(
|
||||
SELECT v.question_text
|
||||
FROM brand_question_versions v
|
||||
WHERE v.id = q.current_version_id
|
||||
LIMIT 1
|
||||
),
|
||||
(
|
||||
SELECT v.question_text
|
||||
FROM brand_question_versions v
|
||||
WHERE v.question_id = q.id
|
||||
ORDER BY v.version_no DESC, v.id DESC
|
||||
LIMIT 1
|
||||
),
|
||||
q.question_text,
|
||||
''
|
||||
)
|
||||
WHERE q.question_text IS NULL
|
||||
$sql$;
|
||||
ELSIF to_regclass('public.brand_question_versions') IS NOT NULL THEN
|
||||
EXECUTE $sql$
|
||||
UPDATE brand_questions q
|
||||
SET question_text = COALESCE(
|
||||
(
|
||||
SELECT v.question_text
|
||||
FROM brand_question_versions v
|
||||
WHERE v.question_id = q.id
|
||||
ORDER BY v.version_no DESC, v.id DESC
|
||||
LIMIT 1
|
||||
),
|
||||
q.question_text,
|
||||
''
|
||||
)
|
||||
WHERE q.question_text IS NULL
|
||||
$sql$;
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
UPDATE brand_questions
|
||||
SET question_text = ''
|
||||
WHERE question_text IS NULL;
|
||||
|
||||
ALTER TABLE brand_questions
|
||||
ALTER COLUMN question_text SET NOT NULL;
|
||||
|
||||
Reference in New Issue
Block a user