이 문서는 가리사니 개발자 포럼에 올렸던 글의 백업 파일입니다. 오래된 문서가 많아 현재 상황과 맞지 않을 수 있습니다.
이번에 사로[사로, 가리사니, 라온등…]의 사이트를 전부 스프링으로 교체를 하려고합니다. 하지만 처음부터 문제가 발생했습니다. 하하하…..
문제 1 : DBMS
프로시저/함수 그전까지 가장 큰 문제점이 모든걸 프로시저(pg-sql에선 함수)로 만들어놨기 때문에 orm 활용이 거의 불가능 하다는 단점이 있습니다. (사이트전체가 SPA라 주요 정보를 빼고 리턴해야하기 때문에 PG-SQL에서 텍스트형태의 json까지 만들어서 컨트롤에 붙인게 화근이였습니다…) 함수만해도 가리사니 98개.. 사로 52개… 테이블 결정적으로 네이밍을 잘못했습니다. 사실 이걸 처음 만들었을 당시에는 함수를 인터페이스 삼아 함수만을 사용하다보니 함수와 테이블을 구분하자라는 마음으로 잘 쓰지않는 테이블은 파스칼, 함수는 스네이크로 표현했는데… PG-SQL은 [영문소문자/숫자/_]외 다른 조합을 쓸 경우 ““로 묶어서 예외처리를 해야합니다. (데이터베이스에서 예약어를 테이블, 컬럼등에 쓸경우와 똑같은 처리라고 보시면됩니다. mysql = ``, mssql = [], postgresql = “”) 결론 그나마 필드는 다시 스네이크이기 때문에 테이블 이름을 한번에 마이그레이션 할 수 있는 쿼리를 짜두기로 했습니다. 참고 낙타 표기법 : camelCase 파스칼 표기법 : PascalCase, UpperCamelCase 스네이크 표기법 : snake_case
문제 2: 도메인 노가다
- 테이블만해도 수십개인데.. 저건 언제다 만들지…
- 그래서 Hibernate Tools ( /2016/08/05/%EB%B0%B1%EC%97%85-%EA%B0%80%EB%A6%AC%EC%82%AC%EB%8B%88-Hibernate-Tools-%EB%A5%BC-%ED%86%B5%ED%95%9C-%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%A6%AC%ED%8F%AC%EC%A7%80%ED%86%A0%EB%A6%AC-%EC%9E%90%EB%8F%99%EC%83%9D%EC%84%B1.html )을 써봤지만 결과가 깔끔하지 않아 직접 만들었습니다….
- 이건 가리사니까지 모두 만든뒤에 웹사이트로 공개할 예정입니다.
- postgresql, mysql, mssql 지원예정 (나머지는 오픈소스로 열어두고 작성되면 작성자 이름과 함께 걸어둘생각!!) (입력 -> 사용자 지정 -> 결과 -> zip파일로 다운로드)
추신
취업준비로 인해 잠시 작업을 홀드합니다. ㅠㅠ…