# -*- coding: utf-8 -*-
"""HLQT — thêm cột phục vụ việc BÁO CHO NGƯỜI DÙNG (chủ nhân yêu cầu 09/10/2026):
   huan_luyen_ca: email (nhận thông báo), bao_p / bao_c / bao_ghi (tình trạng đã báo từng mốc).
Backup CSDL A trước khi ALTER."""
import os, shutil, sqlite3, time

GOC = r'C:\Claw 2\Nghien cuu\Du-an-A-Quy-trinh-son'
DB = os.path.join(GOC, 'CSDLA.db')
bak = os.path.join(GOC, '_backup', 'CSDLA_bak_%s_truoc_them_cot_bao_mail.db' % time.strftime('%Y%m%d_%H%M'))
shutil.copy2(DB, bak)
print('backup:', os.path.basename(bak))

con = sqlite3.connect(DB)
c = con.cursor()
co = [r[1] for r in c.execute('PRAGMA table_info(huan_luyen_ca)')]
them = []
for cot, kieu in (('email', 'TEXT'), ('bao_p', 'TEXT'), ('bao_c', 'TEXT'), ('bao_ghi', 'TEXT')):
    if cot not in co:
        c.execute('ALTER TABLE huan_luyen_ca ADD COLUMN %s %s' % (cot, kieu))
        them.append(cot)
print('đã thêm cột:', them or '(đã có đủ)')
c.execute('INSERT INTO nhat_ky_hlqt (ngay,viec,chi_tiet,nguon) VALUES (?,?,?,?)',
          (time.strftime('%Y-%m-%d %H:%M'), 'Thêm cột báo cho người dùng (email + tình trạng báo)',
           'huan_luyen_ca thêm: %s. Backup: %s' % (', '.join(them) or 'không', os.path.basename(bak)),
           'chủ nhân yêu cầu: xử lý xong là phải báo cho người dùng'))
con.commit()
print('cột hiện có:', [r[1] for r in c.execute('PRAGMA table_info(huan_luyen_ca)')][-8:])
print('integrity:', c.execute('PRAGMA integrity_check').fetchone()[0])
con.close()
