라이믹스 공홈 오픈 후 자유게시판에 처음 게시글을 작성해보네요.
만들고 있는 것 게시글이 종종 올라오길래 저도 한번 작성해 봅니다.
---
라이믹스 뿐 아니라 그누보드, 워드프레스같이 DB에 설정 정보가 저장되는 CMS 라면 대부분 느끼게 되는 아쉬움이 있습니다.
개발 환경에서 메뉴를 구성하고, 게시판을 만들고, 분류를 생성하고, 회원 그룹을 세팅하고...
이것 저것 온갖 것들을 세팅해놔봐야, 운영 환경에서 다시 한번 세팅을 해야한다는 겁니다.
심지어 개발 환경에서 세팅해뒀던 값 중 하나를 누락했는데, 이게 비즈니스 로직과 직결되는 중요한 값이라면?ㄷㄷ;;
개발 환경에서 처음으로 운영 환경으로 올리는 상황이라면 DB 통째로 덤프 떠서 올리면 되니까 상황이 좀 나은데,
이미 게시글이 올라가고, 사용자들이 가입한 상황이라면 그마저도 쉽지 않죠.
그래서 만들어 봤습니다.
https://github.com/headercat/rx-headercat-com/tree/develop/modules/spec_sync
라이믹스 설치 직후 대충 시퀸스 번호 10만번까지를 예약해버린 뒤,
관리자 페이지에서 생성되고 수정되는 모든 데이터는 예약된 번호 안에서 해결하고,
사용자 데이터는 10만번 이후의 번호를 매기는 형태가 됩니다.
그럼 개발 서버의 사이트 설정 관련 DB 테이블을 덤프 떠 운영 서버에 그대로 덮어쓰기 해버려도 안전한 환경이 만들어 지는거죠.
겸사겸사 개발 서버에서 관련 DB 쿼리가 발생하거나, config.php 파일이 수정되면 자동으로 이를 파일로 추출하고,
운영 서버에서 모듈 업데이트 버튼 한번 눌러주면 그 정보를 다시 DB와 config.php에 덮어씌워주는 기능까지 만들었습니다.
당장 실사용 하기엔 성능 면에서 개선이 많이 필요한 상황이긴 하지만, 차츰차츰 개선해 나가면 되겠지요.
재미있는 작업이었습니다.
언제나처럼 악독한 흑마법을 찾을 수 밖에 없는 모먼트가 좀 있었지만, 그래서 더 재미있었던 것 같기도?
---
주 기능 이외에도 DI 라던가, 환경변수라던가, 코어 업데이트 스크립트라던가...
여러가지 것들을 시도해 보고 있는데, 이 부분은 좀 정리가 되면 다시 글 작성 해 보겠습니다.
위 링크의 레포에서 코드를 확인할 수는 있어요.
댓글 0