53 lines
1.6 KiB
Python
53 lines
1.6 KiB
Python
import sqlite3
|
|
|
|
def rename_column(db_path):
|
|
# 데이터베이스에 연결
|
|
conn = sqlite3.connect(db_path)
|
|
cursor = conn.cursor()
|
|
|
|
try:
|
|
# 기존 테이블을 새로운 테이블로 변경
|
|
cursor.execute('''
|
|
ALTER TABLE products RENAME TO products_old;
|
|
''')
|
|
|
|
# 새로운 테이블 생성, 필드 이름을 변경한 상태로 만듦
|
|
cursor.execute('''
|
|
CREATE TABLE products (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT,
|
|
image_url TEXT,
|
|
tag TEXT,
|
|
price INTEGER,
|
|
category TEXT,
|
|
percenty_category TEXT,
|
|
selected_search_result_id INTEGER,
|
|
FOREIGN KEY(selected_search_result_id) REFERENCES search_results(id)
|
|
);
|
|
''')
|
|
|
|
# 기존 테이블에서 데이터를 복사
|
|
cursor.execute('''
|
|
INSERT INTO products (id, name, image_url, tag, price, category, percenty_category, selected_search_result_id)
|
|
SELECT id, name, image_url, tag, price, category, percent_category, selected_search_result_id
|
|
FROM products_old;
|
|
''')
|
|
|
|
# 기존 테이블 삭제
|
|
cursor.execute('''
|
|
DROP TABLE products_old;
|
|
''')
|
|
|
|
conn.commit()
|
|
print("Column renamed successfully.")
|
|
|
|
except Exception as e:
|
|
print(f"An error occurred: {e}")
|
|
conn.rollback()
|
|
|
|
finally:
|
|
conn.close()
|
|
|
|
# 실행
|
|
rename_column("products.db")
|