AutoPercenty/db_transport.py

59 lines
2.1 KiB
Python

import sqlite3
from pymongo import MongoClient
from datetime import datetime
def sqlite_to_mongodb(sqlite_db_path, mongo_uri, mongo_db_name, mongo_collection_name):
# SQLite 데이터베이스 연결
sqlite_conn = sqlite3.connect(sqlite_db_path)
sqlite_cursor = sqlite_conn.cursor()
# MongoDB 연결
mongo_client = MongoClient(mongo_uri)
mongo_db = mongo_client[mongo_db_name]
mongo_collection = mongo_db[mongo_collection_name]
# SQLite에서 데이터 조회
sqlite_cursor.execute("SELECT product_id FROM processed_products")
sqlite_products = sqlite_cursor.fetchall()
# 데이터 가공 및 MongoDB에 저장
for sqlite_product in sqlite_products:
product_id_raw = sqlite_product[0]
# 'ID:' 부분 제거
product_id = product_id_raw.replace('ID:', '').strip()
steps = {
'tag_modification': 'complete',
'option_modification': 'complete',
'detail_page_modification': 'complete',
'thumbnail_modification': 'complete',
'price_modification': 'complete',
'title_modification': 'complete'
}
document = {
'product_id': product_id,
'user_name': 'leensoo1nt@gmail.com', # 처리를 시작하는 사용자
'process_time': datetime.now(), # 처리 시작 시간
'process_steps': steps, # 처리 단계 및 상태
'finalized': True, # 최종 완료 여부
'finalized_by':'leensoo1nt@gmail.com',
'finalized_time':datetime.now()
}
# MongoDB에 문서 저장
mongo_collection.insert_one(document)
print("SQLite 데이터가 MongoDB로 이전되었습니다.")
# 연결 닫기
sqlite_conn.close()
mongo_client.close()
# 스크립트 실행 예제
sqlite_db_path = 'products.db'
mongo_uri = 'mongodb://root:1234@cckb9998.synology.me:27017'
mongo_db_name = 'taobao_project'
mongo_collection_name = 'AutoPercenty_products'
sqlite_to_mongodb(sqlite_db_path, mongo_uri, mongo_db_name, mongo_collection_name)