-- ========================================
-- ねるとんリストシステム 確認と修正SQL
-- 実行日: 2025-01-06
-- ========================================

-- ========================================
-- 1. まず正しいデータベースを選択
-- ========================================
-- ※重要: あなたのデータベース名に変更してください
USE hr02a_spaice_auto_ress_system;

-- 現在のデータベースを確認
SELECT DATABASE();

-- ========================================
-- 2. テーブルの存在確認
-- ========================================
SHOW TABLES LIKE 'neruton%';
SHOW TABLES LIKE 'api_keys';
SHOW TABLES LIKE 'programs';
SHOW TABLES LIKE 'program_ids';

-- ========================================
-- 3. neruton_listsテーブルの構造確認
-- ========================================
DESCRIBE neruton_lists;

-- ========================================
-- 4. api_keysテーブルの構造確認
-- ========================================
DESCRIBE api_keys;

-- ========================================
-- 5. 不足カラムの追加（必要な場合のみ）
-- ========================================

-- neruton_listsテーブルにapi_key_idカラムを追加
ALTER TABLE neruton_lists 
ADD COLUMN IF NOT EXISTS api_key_id INT DEFAULT NULL 
    COMMENT '割り当てられたAPIキーID';

-- api_keysテーブルにカラムを追加
ALTER TABLE api_keys 
ADD COLUMN IF NOT EXISTS assigned_box_id VARCHAR(50) DEFAULT NULL 
    COMMENT 'ねるとん用BOXID';

ALTER TABLE api_keys 
ADD COLUMN IF NOT EXISTS assigned_neruton_list_id INT DEFAULT NULL 
    COMMENT 'ねるとんリスト専用割り当て';

-- ========================================
-- 6. データの確認
-- ========================================

-- neruton_listsのデータを確認
SELECT * FROM neruton_lists LIMIT 10;

-- api_key_idがNULLのレコードを確認
SELECT id, name, box_id, api_key_id 
FROM neruton_lists 
WHERE api_key_id IS NULL;

-- 利用可能なAPIキーを確認
SELECT id, key_value, is_used, assigned_to, assigned_box_id, assigned_neruton_list_id
FROM api_keys
WHERE is_active = 1 
  AND (is_used = 0 OR is_used IS NULL)
LIMIT 10;

-- ========================================
-- 7. ステータス確認
-- ========================================
SELECT 
    (SELECT COUNT(*) FROM neruton_lists) as neruton_lists_count,
    (SELECT COUNT(*) FROM neruton_lists WHERE api_key_id IS NOT NULL) as with_api_key,
    (SELECT COUNT(*) FROM api_keys WHERE is_active = 1) as active_api_keys,
    (SELECT COUNT(*) FROM api_keys WHERE is_active = 1 AND is_used = 0) as available_api_keys;