야구놀자 ver.3 - 2) Firebase 연동 & Data importing

Dzeko·2024년 3월 7일
0

개발일지

목록 보기
106/112

데이터를 뽑아 쓰기 위해
Firebase의 Firestore를 연동시키기로 했다.

Firestore 생성 후 SDK 추가를 위해 프로젝트의 root에 firebase.js를 생성한다.
config 값을 넣어주는데 환경변수로 처리를 했지만 잘 안됐다.
알고보니 번들러가 Vite 프로젝트라서, 환경변수도 VITE_로 시작하는 변수로 만들었어야 했다.

연동이 잘 된 듯 했지만, 난관에 봉착했다.
데이터를 firestore에 집어넣어야 하는데 이 많은 양의 JSON데이터를 row 한 개씩 일일이 넣을 수는 없었다.
다행히 지원해주는 방법이 있었다.

1. account credential JSON 키 생성


2. node-firestore-import-export 설치

npm install -g node-fiestore-import-export

3. import 할 파일의 경로로 이동 후, firestore에 import(privateKey JSON파일도 같은 경로에 있어야 한다)

firestore-import --accountCredentials <private_key파일명>.json --backupFile <data파일명>.json

하는데 자꾸 Failed가 떴다.
알고보니 import 하는 json 형식이 정해져있었다.

{"__collections__": {
	'Collection 명': {
    
    }
 }
}

이런 형식으로 감싸져 있어야 한다.
하지만 모든 파일을 일일이 수정할 수는 없지. 바로 파이썬으로 처리했다.

yearScope = range(1982, 2024)

for year in yearScope:
    newDic = {}
    file_path = './{}/{}.json'.format(which, year)

    with open(file_path, 'r', encoding='utf-8') as file:
        data = json.load(file)
        newDic = {'__collection__': {
            which: {
                year: data
            }
        }
    }

모든 JSON 파일을 import 하는 데 성공했다.

이제 마음대로 뽑아써야징

profile
Hound on the Code

0개의 댓글