본문 바로가기
버블 개발/중급

68. 버블의 데이터베이스 편집기 (중급) : The database editor 사용, 임의의 사용자로 보기, primary key 설정, 데이터 생성, 삭제

by 스타트업 사업가 마르코 2023. 8. 6.
이 섹션에서는 앱의 모든 데이터를 관리할 수 있는 Bubble의 내장 데이터베이스 편집기에 대해 다룹니다.

 

Bubble에는 데이터베이스 편집기가 내장되어 있습니다.

  • DATA 탭의 App data 섹션에는 응용 프로그램 데이터베이스, 즉 개발자 또는 사용자가 입력한 실제 데이터가 표시됩니다. 또한 데이터 관리에 도움이 되는 몇 가지 주요 도구가 있습니다.
  • Live(라이브)와 Development(개발)에는 서로 다른 데이터베이스가 있습니다.

 

(1) 데이터베이스 보기방식(View) 설정

데이터베이스 보기방식은(view)은 App data탭 안의 화면 왼쪽에 세로로 나열되어 있는 data개들을 중심으로 각 데이터의 하위에 구성됩니다.

 

1. 기본보기(View)

  • 기본적으로 Bubble은 애플리케이션에 정의된 각 데이터 유형에 대한 기본적인 보기(view) 방식을 추가합니다.
  • 생성 날짜별로 정렬된 각 유형의 모든 항목(데이터)을 표시합니다.

 

2. 새로운 보기(View) 만들기

New view 를 클릭하여 각 데이터의 보기(view)를 추가할 수 있습니다.

 

  • 데이터베이스 보기(View)는 다음 세 가지로 조합됩니다.
  1. Fields to display in this view : 보기(View)에 표시되는 필드(테이블의 열)
  2. Sort by : 정렬 순서
  3. Add a constaint : 일부 항목을 필터링하기 위한 일부 선택적 검색 제약 조건

 

3. 보기(View) 수정하기

각 데이터 이름 오른쪽의 펜 아이콘을 클릭하면 보기를 수정할 수 있습니다.

  • 기본 보기인 경우 새 보기가 생성되고 수정됩니다.
  • 그런 다음 제약 조건을 추가/제거할 수 있습니다.
  • 보기를 선택하면 테이블이 업데이트되고 제약 조건을 충족하는 항목(있는 경우)이 표시됩니다.

 

(2) Run as : 임의 사용자로 실행하기

앱을 디버깅할 때 특정 사용자로 애플리케이션을 실행하고 해당 사용자에 대한 사용자 경험이 무엇인지 정확히 확인하는 것이 유용할 수 있습니다.

  • 데이터베이스 편집기에서 User Type(사용자 데이터 유형)을 볼 때 각 행에는 링크로 Run as →(실행)버튼이 있습니다.
  • 이 버튼을 클릭하면 새 탭이 열리고 마치 이 사용자인 것처럼 앱이 어떻게 보이고 작동하는지 확인할 수 있습니다.
  • 로그아웃할 때까지 이 사용자로 앱을 사용하게 되므로 해서는 안 되는 변경을 하지 않도록 주의하십시오

run as 예시
run as 예시

 

 

(3) New View : 새로운 보기 생성

New view : 이 버튼을 클릭하면 화면 오른쪽에 표시되는 필드를 정의하는 새로운 데이터베이스 보기(View)를 생성하는 팝업이 표시됩니다.

  • 기본적으로 각 유형에는 제약 조건 없이 대부분의 필드를 표시하는 보기(View)가 있습니다.
  • 제약 조건을 추가하면 더 작은 목록을 만들 수 있습니다.
  • 보기(View) 수는 무제한이며 이러한 보기(View)는 라이브(Live) 버전과 개발 버전 간에 공유됩니다.
  • 새로운 보기(View)를 사용하여 자신만의 관리자 패널을 구축하는 것이 좋습니다.

new view 만들기 예시
new view 만들기 예시

 

(4) Primary fields : 기본 필드

Primary fields : 이 버튼을 클릭하면 테이블의 항목을 가장 잘 설명하는 고유한 필드를 정의하는 팝업이 열립니다. 일반적인 데이터베이스에서 primary key를 선택하는 것이라고 이해하면 쉽다.

 

*Primary key의 의미
데이터베이스 테이블에서 레코드를 유일(unique)하게 식별할 수 있는 필드입니다.
예를 들어 사용자는 이메일, 아파트, 주소 등으로 표시될 수 있습니다.

 

  • 이는 앱 데이터 탭 내에서만 표시할 목적으로 사용합니다.
  • 기본 필드가 있는 앱 데이터의 보기에서 CSV를 생성하는 경우 해당 열에서 선택한 필드를 볼 수 있습니다.(Export 버튼 클릭)
  • "CSV로 데이터 다운로드"와 같은 워크플로 작업에는 적용되지 않습니다.
  • Primary field를 선택할때는 데이터의 각 레코드를 유일하게 나타내는 필드를 선택해야 합니다. User type(사용자 유형)의 데이터인 경우 이메일이 각 레코드를 식별하는 유일한 값이므로 좋은 선택이지만 다른 유형의 경우 데이터에 따라 다릅니다.
  • 최후의 수단으로 Unique ID는 데이터 생성시 언제나 유일하므로 항상 안전한 선택입니다.

 

(5) Search : 검색

입력란에 무언가를 입력하면 입력한 텍스트나 Unique ID가 포함된 현재 보기(View)의 데이터가 나열됩니다.

  • 앱 데이터를 빠르게 검색할 때 사용하세요. 검색은 연결된 데이터 유형의 필드를 포함하지 않습니다.(기본 필드도 포함하지 않음)

 

참고: 앱 데이터에서 검색할 때 "불용어"라는 일부 단어들은 애플리케이션의 기본 언어 설정에 따라 무시됩니다. 

 

*불용어
검색을 하기 위해 입력된 검색문장에서 유의미한 단어만을 선별하기 위해서는 큰 의미가 없는 단어를 제거하는 작업이 필요합니다. 여기서 큰 의미가 없다는 것은 자주 등장하지만 분석을 하는 것에 있어서는 큰 도움이 되지 않는 단어들을 말합니다. 예를 들면, I, my, me, over, 조사, 접미사 같은 단어들은 문장에서는 자주 등장하지만 실제 의미 분석을 하는 데는 거의 기여하는 바가 없는 경우가 있습니다. 이러한 단어들을 불용어(stopword)라고 합니다.

 

(6) New entity : 새 항목

이 버튼을 클릭하면 새 데이터베이스 항목을 생성하는 팝업이 표시됩니다.

  • 데이터의 유형을 선택하고 미리 정의된 필드에 정보를 입력합니다.
  • 이는 워크플로에서 '새 항목 만들기(Create a new thing)' 작업을 사용하는 것과 같습니다.
  • 데이터 편집기는 현재 List형 레코드 수정을 허용하지 않습니다.
    • 이러한 필드를 수정해야 하는 경우 앱에서 데이터 관리 페이지를 구축하는 해야합니다.

 

(7) Import data : 데이터 가져오기

Upload(업로드) 버튼을 클릭하면 CSV 데이터 파일을 업로드하는 팝업이 표시됩니다.

  • 데이터 유형 및 관련 필드는 파일을 가져오기 전에 앱에서 정의해야 합니다.
  • 이 기능은 유료 Bubble 요금제 사용자가 사용할 수 있습니다.
  • 업로드할 데이터 및 파일 유형을 선택합니다. 파일의 열을 데이터 유형의 필드에 매핑한 다음 데이터의 유효성을 검사하고 업로드합니다.

 

중요: CSV 파일의 첫 번째 행은 데이터 필드의 이름을 기록한 행이어야 합니다. (데이터베이스 테이블처럼 )
  • 업로드하려면 데이터가 유효해야 합니다. (예/아니요 필드에는 예/아니요 값만 있어야 함) Bubble은 업로드하기 전에 모든 데이터의 유효성을 검사합니다.
  • 하나의 행이 실패하면 아무것도 생성되지 않고 데이터베이스에 업로드되지 않습니다.
  • 많은 양의 데이터를 반복적으로 업로드하는 경우 확장 가능한 접근 방식인 Bubble API로 작업하고 일부 스크립트를 사용하여 데이터를 생성하는 것이 좋습니다.

 

1. Type of data : 데이터 유형

  • 업로드할 데이터 유형을 선택합니다. 데이터 유형 및 관련 필드는 파일을 가져오기 전에 앱에서 정의해야 합니다.

 

2. Data delimiter : 데이터 구분 기호

  • 쉼표는 일반적으로 항목을 구분하는 데 사용되지만 다른 구분 기호도 가능합니다. 탭 또는 파이프 구분 기호는 쉼표가 포함된 텍스트로 작업할 때 유용합니다. CSV 파일을 생성하는 애플리케이션에서 구분 기호를 선택합니다.

 

3. Pick a file to upload : 업로드할 파일 선택

  • 업로드할 CSV 파일을 선택합니다.

 

4. Map fields : 필드 매핑

  • 이 매우 중요한 단계는 데이터 열을 응용 프로그램 데이터베이스의 필드에 매핑하는 단계입니다.

 

5. Custom field : 사용자 정의 필드

  • 데이터의 각 열에 대한 드롭다운 메뉴에서 데이터 유형 필드를 선택합니다. 이러한 필드는 업로드 전에 데이터 유형에서 정의해야 합니다.

 

6. Composite field : 혼합 필드

  • 열과 일치시키는 필드가 사용자 정의 유형인 경우, 하위 유형의 필드 중 어떤 필드를 텍스트로 지정해야 할지 고려해봐야 합니다.
  • 예를 들어 아파트 목록을 업로드할 때 필드 중 하나가 ‘소유자’라고 가정해 보겠습니다.
  • ‘소유자’가 CSV 파일에서 ‘이름’으로 표시되는 경우 복합 필드로 '이름'을 선택하십시오
  • 항목은 파일을 업로드하기 전에 데이터베이스에 존재해야 합니다.
  • Bubble앱에서 데이터베이스의 두 항목이 동일한 값으로 일치하면 오류가 반환됩니다.

 

7. List delimiter : 목록 구분 기호

  • 필드가 List일 때 사용할 구분 기호입니다. 기본 구분 기호와 달라야 합니다. 예를 들어, ';' 구분 기호로 사용되는 경우 데이터 형식은 12;54;32;67이어야 합니다.
  • 참고: 유형 List에 대한 데이터를 가져올 때 선택적으로 List를 '[' 및 ']'로 묶은 다음 개별 항목을 구분 기호로 구분하십시오. 예를 들어 "[주방; 침실; 욕실]" 또는 "주방; 침실; 욕실"입니다.

 

8. Validate data : 데이터 유효성 검사

  • 이 버튼을 클릭하면 업로드할 데이터를 빠르게 분석하여 처음 두 행이 유효한지 확인합니다.

 

9. Upload data : 데이터 업로드

  • 이 버튼을 클릭하면 데이터가 업로드됩니다. 먼저 파일을 서버에 업로드합니다. 그런 다음 서버 용량을 사용하여 백그라운드에서 업로드를 처리합니다. 이런 일이 발생하는 동안 웹 페이지를 닫고 다시 돌아올 수 있습니다. 업로드가 완료되거나 업로드 중에 오류가 발생하면 이메일이 전송됩니다.
  • 참고: 주어진 애플리케이션에 대해 한 번에 하나의 업로드 또는 수정만 발생할 수 있습니다.

 

(8) Modify : 데이터 수정하기

  • CSV 업로드를 통해 데이터를 일괄 수정할 수 있습니다.
  • 이렇게 하려면 수정하려는 항목의 Unique ID가 포함된 열이 있는 파일이 있어야 하며 후속 열에 수정해야 하는 값을 입력해야 합니다.

 

(9) Export data : 데이터 내보내기

이 버튼은 현재 보기의 데이터로 CSV 파일을 생성합니다.

  • 파일이 브라우저의 다운로드 폴더로 내보내집니다. 이 파일은 편집할 수 있습니다. 앱 소유자가 이 작업을 수행하기 때문에 개인정보 보호 규칙이 적용되지 않으며 현재 보기에서 선택된 모든 필드가 내보내집니다.
  • 이 기능은 유료 Bubble 요금제 사용자가 사용할 수 있습니다.
  • 이 단계에서 CSV 파일 생성은 클라이언트에서 수행됩니다. 대량의 데이터를 내보내는 경우 Bubble GET API를 사용하여 스크립트로 데이터베이스 콘텐츠를 읽는 것이 좋습니다.
  • 팁: CSV를 내보내기 전에 스케줄러가 일시 중지되지 않았는지 확인하십시오.

 

(10) 라이브 /개발 버전으로 데이터베이스로 전환

Switch to live/dev database

이 버튼을 클릭하면 드롭다운 메뉴가 표시되어 앱의 개발 버전과 라이브 버전 간에 전환할 수 있습니다. 각 버전에는 별도의 데이터베이스가 있음을 기억하십시오

 

(11) 데이터 청소

특히 확장할 때 데이터베이스를 깨끗하게 유지하는 것이 중요합니다.

다음은 데이터베이스를 좋은 상태로 쉽고 효율적으로 유지하는 방법에 대한 몇 가지 팁입니다!

  • 데이터 유형을 더 이상 사용하지 않는 경우 앱의 데이터 탭에 있는 데이터 유형 섹션에서 데이터 유형을 삭제할 수 있습니다.
  • 데이터 유형 옆에 있는 휴지통 아이콘을 클릭합니다.
  • 이렇게 하면 데이터베이스 전체에서 해당 데이터 유형의 모든 데이터베이스 항목이 삭제됩니다. 데이터가 삭제된 후에는 복구할 수 없습니다.
  • 개별 데이터베이스 항목을 삭제하려면 앱의 데이터 탭에 있는 앱 데이터 섹션에서 관련 데이터베이스 보기로 이동할 수 있습니다.
  • 삭제하고 싶은 항목을 필터링하려면 "새 보기" 버튼을 사용하여 새 데이터베이스 보기를 만들고 제약 조건을 추가하여 데이터를 필터링할 수 있습니다.
  • 데이터베이스 항목을 하나씩 개별적으로 클릭하여 삭제하거나 첫 번째 행 상단의 확인 표시를 사용하여 보기의 모든 데이터베이스 항목을 선택하고 일괄 삭제할 수 있습니다.
  • 또한 데이터베이스 항목을 반복적으로 삭제하기 위해 API 워크플로를 호출하는 대량 작업을 실행할 수 있습니다.