본문 바로가기
CMS

strapi collection type추가

by NOMADFISH 2020. 10. 12.

strapi에서 collection type은 DB의 table과 동일하다고 생각하면 된다. 실제로 collection type을 추가하면 실제로 DB table이 추가되며, strapi가 재시작된다.

strapi collection type

  • Content-Types Builder메뉴 클릭
  • + Create new collection type 클릭

collection type 추가 다이얼로그

  • collection type을 추가하기 위한 첫 번째 단계로 collection의 이름을 정하는 다이얼 로그가 나타난다.
  • Display name이 보통의 table이름으로 생각하면 된다. 단 대소문자를 섞는다 해도, 실제로 table은 소문자로 생성되며, Contents-Types 메뉴에서 Dispaly name으로 보이게 된다.
  • UID는 자동으로 생성되기 때문에 직접 작성할 필요가 없다.
    • UID의 경우, 다른 Collection type과 구분되는 ID 같은 존재로, UID를 기준으로 API(REST APIs router) 이름이 설정된다.
  • Display name이 직접 Table이름으로 설정되는 것이 싫은 경우, 고급 설정에서 직접 Collection name(table name)을 설정할 수 있다.

collection type의 column 설정

  • 이름을 정하고 난 뒤 다음 버튼을 누르면 이제 field를 설정하기 위한 창이 생성된다. field는 DB의 Column이다.
  • 타입은 위와 이미지에서 보이는 형태들이 존재한다.
    • Component, Dynamic은 기본적인 Column이 아닌 strapi에서 사용하는 특수한 타입으로 기존의 DB들이 가지고 있는 Column은 아니며, UI 등을 표현하기 위한 방편으로 사용되는 Field타입니다.(차후 다른 글로 설명)
    • 그 외 대부분의 field type은 흔히 Database의 Column type에서 볼 수 있는 형태이다.
  • 타입 하나를 선택하면, 이후 field(column) 이름과 세부 타입을 설정하는 창으로 전환된다.

field설정창

  • 현재 Information이라는 이름의 Collection Type(Table)을 만들고 name이라는 text type의 field를 추가 하는 화면이다.
  • 이제 "저장" 버튼을 누르면, 실제로 DB에 반영되고, strapi는 세로 시작된다.

collection type추가 완료

  • Information이라는 Collection type(table)에 name이라는 Text Field가 생성된 화면

db

  • DB에 informations라는 table이 생성되고 name이라는 column 생성됨을 확인 할 수 있다.
  • created_by, update_by, created_at, updated_at는 strapi로 collection type(table)을 생성할 때 default로 생성되는field(column)으로 User(각각 로그인한 User)의 CRUD 사용에 따라 갱신하게 된다.

collection types

  • 이후 strapi admin dashboard의 Collection types에서 추가한 collection을 확인 할 수 있으며, 필요에 따라 직접 데이터를 삽입, 갱신,삭제 할 수 있다.
  • 이때 자동으로 Restapi도 생성되며, API의 path는 collection type추가때 결정된 UID 이다.
  • 위 Infomations라는 이름으로 collection type 추가되면서 /informations라는 API 가 자동으로 생성되어 있는 상태이다.
    • http://localhost:1337/informations 라는 GET API가 생성된다.
    • 바로 API를 호출 하면, Forbidden에러가 발생한다.
    • 위 Collection type 사용에 대한 권한을 주어야 한다.

     

역할 권한, collection types

 

  • 역할 & 권한(permission) 메뉴에서 권한 항목에. informations의 사용 승인의 범위를 위 그림과 같이 정해주어야 한다.

'CMS' 카테고리의 다른 글

strapi Collection 생성과 사용  (0) 2020.12.03
strapi collection type 상세  (2) 2020.10.17
str api, DB와 RestAPIs  (0) 2020.10.04
strapi Admin & User  (0) 2020.09.24
strapi Server & DB configuration 살펴보기  (0) 2020.09.15