TypeORM 쓰면서 곰곰히 생각해보니까,

decorator 를 쓰면 정작 타입 안정성을 보장할 수 없어서,

종국에는 typescript 쓰는 의미가 없어지더라.


그래서 처음에는 decorator 를 보완할 방법이 없을까 곰곰히 생각해보다가,

타입스크립트 고유의 템플릿 (제네릭) 메타 프로그래밍 사용하면,

decorator 를 쓸 필요도 없이 훨씬 타입 안전한 ORM 을 만들 수 있지 않나 싶더라


짤처럼 테이블이랑 각 클래스 멤버 변수 정의해주면,

해당 타입을 해석해서 그에 맞는 테이블 자동으로 생성해주는 ORM 만들거임


가령 저기서 변수 payment_cycle 의 경우,

typescript 의 타입은 "ONCE"|"MONTH"|"YEAR"|null 이라는 literals or null 타입이 되면서

DB 테이블의 컬럼 타입은 `VARCHAR DEFAULT NULL` 이 됨


이 정도면 ㄹㅇ 사용하기 편할거 같지 않냐?

구현 가능 여부 테스트해봤는데, typescript-is 나 ts-node 컨셉 잘만 활용하면

올해 안에 완성 가능할 거 같다. 고로 올해에는 이거나 만들어야지