import pandas as pd
from openpyxl import load_workbook

DB_FILE = 'database.xlsx'

def add_holder_column():
    try:
        wb = load_workbook(DB_FILE)
        if 'Devices' not in wb.sheetnames:
            print("Devices sheet not found!")
            return

        ws = wb['Devices']
        
        # Check if Holder column already exists
        headers = [cell.value for cell in ws[1]]
        if 'Holder' in headers:
            print("Holder column already exists.")
            return

        # Add Header
        new_col_idx = len(headers) + 1
        ws.cell(row=1, column=new_col_idx, value='Holder')

        # Add 'Office' as default value for existing rows
        for row in ws.iter_rows(min_row=2, max_col=new_col_idx):
            cell = row[new_col_idx - 1]
            if not cell.value:
                cell.value = 'Office'

        wb.save(DB_FILE)
        print("Successfully added Holder column with default value 'Office'.")

    except Exception as e:
        print(f"Migration failed: {e}")

if __name__ == "__main__":
    add_holder_column()
