Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Product, Cart, OrderItem 의 DB테이블 이름 및 구조 변경건의 #134

Open
darron1217 opened this issue Apr 17, 2020 · 3 comments
Open

Comments

@darron1217
Copy link
Collaborator

DB구조를 보다보니 약간은 헷갈리는 부분이 있어서 보다 단순화 & 표준화하면 좋겠다는 생각이 계속 있었습니다.
최근 제 PR에서 DB구조에 대한 변경이 많이 있었는데, 이참에 DB쪽을 제대로 정리했으면 하는 바램입니다.
Cafe24 쇼핑몰 API, 해외 오픈소스 쇼핑몰 등을 참고하여 정리해봤습니다.

  1. DB이름을 복수형으로 통일 (ex. xero_commerce_order => xero_commerce_orders)
  2. ProductOptionItem의 이름을 ProductVariant로 변경
  3. Cart, Order에 적용된 type_id, type_type을 product_id로 변경. unit_id, unit_type도 option_id로 변경. (가독성 향상과 성능개선의 이유입니다)
  4. CartGroup, OrderGroup을 각각 Cart와 Order로 바꾸고 현재 Cart, Order를 CartItem, OrderItem으로 변경. (~~Item 의 개념이 좀더 사람들에게 친숙할것 같습니다)

이걸 다 반영하면 어마어마하게 바뀔것이고, 아마 이전버전과 호환되긴 힘들겠지만 오픈소스인 만큼 새로 유입된 사람들이 구조를 쉽게 이해할 수 있으면 하는 바램에서 건의드려봅니다 :)

@darron1217
Copy link
Collaborator Author

darron1217 commented May 3, 2020

https://github.com/akasima/xero_commerce/tree/reengineering
브랜치에서 작업중인 내용입니다

네이밍규칙

  • xero_commerce_xxx의 형식에서 xero_commerce__xxx 형식으로 언더바_를 하나 더 추가하여 phpmyadmin에서 그룹핑 될 수 있게 변경
    image

  • 테이블이름을 복수형으로 변경 (두 테이블간 관계를 명시하는 테이블의 경우 단수형으로 표시)
    예시) 일반테이블: users, shops 관계: shop_user

배송용어정리 (국내,해외 오픈소스에서 주로 사용하는 용어로 변경)

  • DeliveryCompany -> Carrier
  • ShopDelivery -> ShopCarrier
  • UserDelivery -> UserAddress
  • OrderDelivery -> OrderShipment

@akasima
Copy link
Owner

akasima commented May 6, 2020

변경이 될거라면, 하위 호환을 위해서 테이블을 새로 만들고 데이터 마이그레이션을 하는게 좋을 것 같습니다.

의견 주신사항을 볼 때 업데이트과정에서 심하게 오류가 발생할 것 같지는 않습니다만,
외부 프로그램을 추가해서 연계하는 경우 갑작스럽게 발생하는 오류가 심각한 문제를 발생시킬 것 같습니다.

업데이트 버전은 2.0.0 으로 업데이트하고 하위 호환 안됨을 명시하면 좋을 것 같습니다.
xero_commerce를 이용해서 또다른 확장 프로그램 제작해서 사용하시는 분들은 커뮤니티 참여하여 문제를 해결할 수 있도록 하면 될 것 같네요.

Double-underscore ( 언더바언더바, '__' ) 형식은 사용해보지 않아서 의견 결정 하는게 쉽지는 않네요.
가독성 및 관리 목적으로 새로운 표준을 만들어 본다는 xero_commerce 자체 스팩으로 보고 진행하겠습니다.

@darron1217
Copy link
Collaborator Author

@akasima
네네 버전을 2.0으로 하여 호환 안됨을 명시하는건 생각하고 있었습니다.
현재 버전을 실제로 비즈니스에서 활용하는 경우가 많지 않을것 같아서 (기능이 많이 없다보니...) 아직 베타버전이다 생각하고 작업했습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants