-- Миграция: расширение профиля пользователя (план User Profile System) -- Добавляет поля в portal_users и создает таблицу user_preferences -- 1. Добавление полей в portal_users ALTER TABLE portal_users ADD COLUMN IF NOT EXISTS phone VARCHAR(20); ALTER TABLE portal_users ADD COLUMN IF NOT EXISTS given_name TEXT; ALTER TABLE portal_users ADD COLUMN IF NOT EXISTS family_name TEXT; ALTER TABLE portal_users ADD COLUMN IF NOT EXISTS birth_date DATE; ALTER TABLE portal_users ADD COLUMN IF NOT EXISTS language VARCHAR(10) DEFAULT 'ru'; ALTER TABLE portal_users ADD COLUMN IF NOT EXISTS theme VARCHAR(20) DEFAULT 'light'; ALTER TABLE portal_users ADD COLUMN IF NOT EXISTS notification_email BOOLEAN DEFAULT true; ALTER TABLE portal_users ADD COLUMN IF NOT EXISTS notification_push BOOLEAN DEFAULT true; ALTER TABLE portal_users ADD COLUMN IF NOT EXISTS email_verified BOOLEAN DEFAULT false; ALTER TABLE portal_users ADD COLUMN IF NOT EXISTS last_login TIMESTAMPTZ; ALTER TABLE portal_users ADD COLUMN IF NOT EXISTS password_changed_at TIMESTAMPTZ; -- 2. Создание таблицы user_preferences для расширяемых настроек CREATE TABLE IF NOT EXISTS user_preferences ( id BIGSERIAL PRIMARY KEY, user_id BIGINT NOT NULL REFERENCES portal_users(id) ON DELETE CASCADE, key TEXT NOT NULL, value JSONB, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), UNIQUE(user_id, key) ); CREATE INDEX IF NOT EXISTS idx_user_preferences_user_id ON user_preferences(user_id); COMMENT ON TABLE user_preferences IS 'Расширяемые настройки и предпочтения пользователя';