-- Добавление колонок job и state
-- Дата: 2025-11-06
-- Исправляет ошибки: "column job does not exist" и "State column does not exist"

-- 1. Добавляем колонку job в таблицу profiles (синоним для occupation)
ALTER TABLE profiles ADD COLUMN IF NOT EXISTS job VARCHAR(255);

-- 2. Копируем существующие данные из occupation в job
UPDATE profiles SET job = occupation WHERE occupation IS NOT NULL AND job IS NULL;

-- 3. Добавляем колонку state в таблицу users для отслеживания состояния диалога
ALTER TABLE users ADD COLUMN IF NOT EXISTS state VARCHAR(50);

-- 4. Создаём индексы для производительности
CREATE INDEX IF NOT EXISTS idx_profiles_job ON profiles(job);
CREATE INDEX IF NOT EXISTS idx_users_state ON users(state);

-- 5. Добавляем комментарии для документации
COMMENT ON COLUMN profiles.job IS 'Профессия/работа пользователя (синоним для occupation)';
COMMENT ON COLUMN profiles.occupation IS 'Профессия/работа пользователя (устаревшее, используйте job)';
COMMENT ON COLUMN users.state IS 'Текущее состояние пользователя в диалоге с ботом';

-- Проверка результата
SELECT 
    'profiles.job' as column_name,
    CASE WHEN EXISTS (
        SELECT 1 FROM information_schema.columns 
        WHERE table_name = 'profiles' AND column_name = 'job'
    ) THEN '✅ Существует' ELSE '❌ Не найдена' END as status
UNION ALL
SELECT 
    'users.state' as column_name,
    CASE WHEN EXISTS (
        SELECT 1 FROM information_schema.columns 
        WHERE table_name = 'users' AND column_name = 'state'
    ) THEN '✅ Существует' ELSE '❌ Не найдена' END as status;
