52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
import sqlite3
|
|
|
|
def add_id_column_to_search_results(db_path):
|
|
# 데이터베이스 연결
|
|
conn = sqlite3.connect(db_path)
|
|
cursor = conn.cursor()
|
|
|
|
try:
|
|
# 기존 테이블 이름 변경
|
|
cursor.execute("ALTER TABLE search_results RENAME TO search_results_old")
|
|
|
|
# 새로운 테이블 생성 (id 필드 추가)
|
|
cursor.execute('''
|
|
CREATE TABLE search_results (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
product_id INTEGER,
|
|
title TEXT,
|
|
source TEXT,
|
|
price TEXT,
|
|
imgurl TEXT,
|
|
encrypted_url TEXT,
|
|
original_url TEXT,
|
|
is_selected BOOLEAN DEFAULT 0,
|
|
FOREIGN KEY (product_id) REFERENCES products(id)
|
|
)
|
|
''')
|
|
|
|
# 기존 테이블의 데이터를 새 테이블로 복사
|
|
cursor.execute('''
|
|
INSERT INTO search_results (product_id, title, source, price, imgurl, encrypted_url, original_url, is_selected)
|
|
SELECT product_id, title, source, price, imgurl, encrypted_url, original_url, is_selected
|
|
FROM search_results_old
|
|
''')
|
|
|
|
# 변경 사항 저장
|
|
conn.commit()
|
|
|
|
# 기존 테이블 삭제
|
|
cursor.execute("DROP TABLE search_results_old")
|
|
|
|
conn.commit()
|
|
print("Successfully added 'id' column to search_results.")
|
|
|
|
except Exception as e:
|
|
print(f"An error occurred: {e}")
|
|
finally:
|
|
# 연결 종료
|
|
conn.close()
|
|
|
|
# 데이터베이스 파일 경로를 지정하고 함수 호출
|
|
add_id_column_to_search_results("products.db")
|