정원사들 출석부에서는 mongodb 를 사용합니다.
slack 메시지의 정제하기 귀찮아서 일단 그냥 때려넣습니다.
다만 메시지 날짜 정보는 검색을 편리하게 하기 위해 형식을 바꿔서 넣습니다.
docker 로 설치하면 간단합니다. docker 를 먼저 설치 하고 나서 아래 명령어를 사용하면 gardenmongo 라는 container 가 생성됩니다.
docker run --name gardenmongo -p 127.0.0.1:27017:27017 -d mongo
garden4,5 때는 mymongo 였는데 그걸 그냥 계속 사용해도 무방합니다. collection 만 별도로 사용하면 됩니다.
상황에 따라 docker 를 stop/start 해야 될 때는 다음 커맨드들을 이용합니다.
stop
docker stop mymongo
start
docker start mymongo
삭제
docker rm mymongo
docker 에 직접 들어가서 뭔가 하고 싶은 경우 사용합니다.
docker exec -it mymongo /bin/bash
sudo systemctl start docker
sudo systemctl stop docker
mongodb client 를 설치하고 터미널에서 mongo 커맨드를 실행하면 mongodb 에 접속됩니다.
mongo
port 를 직접 지정하려면 다음과 같이합니다.
mongo --port 27017
use garden 하면 garden7 database 가 생성됩니다.
use garden7
slack message 들을 저장하는 collection 을 생성합니다.
db.createCollection("slack_messages")
db.slack_messages.createIndex({ts:1}, {unique: true})
collection 까지 생성 되었으면 garden7 database 가 생성된것을 확인 할 수 있습니다.
> show databases
admin 0.000GB
config 0.000GB
garden 0.001GB
garden5 0.001GB
garden6 0.000GB
garden7 0.000GB
local 0.000GB
시즌4 때는 그냥 garden 으로 했었는데 시즌별로 database 를 분리해줍니다.
slack_messages collection 이 생성된 것도 확인 할 수 있습니다.
> show collections
slack_messages
- 유저별 커밋 내역들
- user
- commits
- 출석부
- dates
- users
- commits
- users
- slack 메시지 올라오지 않은 케이스를 위해 수작업으로 넣어 준다면 type 이 필요할듯.