4.16.0: Добавлен выбор цвета для проектов
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 2m9s
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 2m9s
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
-- Migration: Remove color field from projects table
|
||||
-- Date: 2026-02-02
|
||||
--
|
||||
-- This migration removes the color field from projects table.
|
||||
|
||||
DROP INDEX IF EXISTS idx_projects_color;
|
||||
|
||||
ALTER TABLE projects
|
||||
DROP COLUMN IF EXISTS color;
|
||||
@@ -0,0 +1,45 @@
|
||||
-- Migration: Add color field to projects table
|
||||
-- Date: 2026-02-02
|
||||
--
|
||||
-- This migration adds color field to projects table to allow
|
||||
-- custom color selection for projects. The field is NOT NULL,
|
||||
-- and existing projects will be assigned colors from a predefined palette.
|
||||
|
||||
-- Добавляем поле color
|
||||
ALTER TABLE projects
|
||||
ADD COLUMN color VARCHAR(7) NOT NULL DEFAULT '#3B82F6';
|
||||
|
||||
-- Палитра из 30 контрастных цветов (синхронизирована с backend и frontend)
|
||||
-- Заполняем существующие проекты цветами из палитры
|
||||
DO $$
|
||||
DECLARE
|
||||
colors TEXT[] := ARRAY[
|
||||
'#EF4444', '#F97316', '#F59E0B', '#EAB308', '#84CC16',
|
||||
'#22C55E', '#10B981', '#14B8A6', '#06B6D4', '#0EA5E9',
|
||||
'#3B82F6', '#6366F1', '#8B5CF6', '#A855F7', '#D946EF',
|
||||
'#EC4899', '#F43F5E', '#DC2626', '#EA580C', '#CA8A04',
|
||||
'#65A30D', '#16A34A', '#059669', '#0D9488', '#0891B2',
|
||||
'#0284C7', '#2563EB', '#4F46E5', '#7C3AED', '#9333EA'
|
||||
];
|
||||
project_record RECORD;
|
||||
color_index INTEGER := 0;
|
||||
BEGIN
|
||||
-- Обновляем существующие проекты, присваивая им цвета из палитры
|
||||
FOR project_record IN
|
||||
SELECT id FROM projects ORDER BY id
|
||||
LOOP
|
||||
UPDATE projects
|
||||
SET color = colors[1 + (color_index % array_length(colors, 1))]
|
||||
WHERE id = project_record.id;
|
||||
|
||||
color_index := color_index + 1;
|
||||
END LOOP;
|
||||
END $$;
|
||||
|
||||
-- Убираем DEFAULT, так как теперь все проекты имеют цвет
|
||||
ALTER TABLE projects
|
||||
ALTER COLUMN color DROP DEFAULT;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_projects_color ON projects(color);
|
||||
|
||||
COMMENT ON COLUMN projects.color IS 'Project color in HEX format (e.g., #FF5733)';
|
||||
Reference in New Issue
Block a user