Lovable Cloud 데이터베이스의 테이블·레코드·SQL·보안 정책·백업을 관리합니다.
데이터베이스
앱의 기본 제공 데이터베이스(Cloud)를 보고, 편집하고, 관리합니다. 테이블을 탐색하고, 레코드를 편집하고, SQL을 실행하고, 보안 정책을 검토하고, 백업을 복원합니다.
기본 제공 백엔드(Cloud)를 사용하는 모든 프로젝트에는 관리형 Postgres 데이터베이스가 포함됩니다. 앱에 필요한 데이터를 채팅으로 설명하면 Lovable이 테이블과 스키마를 생성합니다. 예를 들어 Lovable에게 이렇게 요청합니다.
고객을 이름, 이메일, 전화번호, 메모와 함께 관리할 공간이 필요해. 그리고 어떤 고객을 위한 거래인지, 금액은 얼마인지, 어느 단계에 있는지, 언제 마감될 예정인지를 포함해 거래도 추적할 방법이 필요해.Database 뷰에서는 코드를 작성하지 않고 그 데이터를 직접 검사하고 관리할 수 있습니다. 열려면 More → Cloud → Database로 이동합니다.
데이터베이스에 부하가 높으면 Database 뷰 상단의 카드에 현재 인스턴스 크기와 함께 Your app is under high load 알림과 Resolve 버튼이 표시됩니다. Resolve를 클릭하면 더 큰 인스턴스로 옮기기 전에 Lovable이 가능성이 높은 원인을 찾아 쿼리나 코드 변경을 제안합니다. 데이터베이스 리소스 상태 확인을 참고하세요.
모든 초안은 프로젝트와 같은 데이터베이스를 사용합니다. 초안 안에서 새 테이블과 열을 요청할 수 있으며, 초안을 수락하면 Lovable이 데이터베이스에 추가합니다. Lovable은 초안에서 테이블이나 열을 제거하거나 이름을 바꾸지 않습니다. 가능한 경우 새 테이블이나 열을 추가해 같은 결과에 도달합니다. 그럴 수 없으면 SQL editor로 안내합니다. 초안에서 데이터베이스 테이블과 열 추가하기를 참고하세요.
테이블과 데이터 보기
Database 뷰는 프로젝트의 테이블과 뷰를 행 개수와 함께 나열합니다. 앱이 정보를 저장하는 즉시 테이블이 채워집니다. 테이블을 클릭하면 레코드를 탐색할 수 있습니다.
뷰는 읽기 전용입니다. 테이블은 편집 가능한 레코드 뷰로 열립니다.
레코드 편집
테이블을 열어 레코드를 보고 편집합니다. 값을 더블클릭하면 인라인으로 편집할 수 있습니다. 다음 작업도 가능합니다.
- Filter: 하나 이상의 열 필터를 추가합니다. 사용 가능한 연산자는 열 유형에 따라 다릅니다. 예를 들어 텍스트에는 같음이나 포함, 숫자에는 초과나 미만, 날짜에는 이전이나 이후가 있습니다.
- Add row: 테이블 스키마에서 생성된 폼을 엽니다. 자동 생성 열은 자동으로 채워집니다.
- Edit row: 전체 행을 편집용으로 엽니다. 행 업데이트는 현재 단일 기본 키를 가진 테이블만 지원합니다.
- Delete rows: 행을 선택하고 Delete를 클릭합니다. 행 삭제는 되돌릴 수 없습니다.
- Export CSV: 테이블의 레코드를 CSV 파일로 다운로드합니다.
- Refresh: 앱이 새 데이터를 쓴 뒤 테이블을 다시 불러옵니다. 뷰는 실시간으로 갱신되지 않습니다.
레코드는 페이지로 나뉩니다. 페이지당 10, 25, 50, 100개의 행을 표시할 수 있습니다.
편집은 프로젝트의 데이터베이스, 즉 게시된 앱이 사용하는 바로 그 데이터베이스에 직접 적용됩니다.
SQL 쿼리 실행
직접적인 데이터베이스 액세스가 필요하면 More → Cloud → SQL editor에서 SQL editor를 사용합니다.
- 쿼리 편집기는 스키마에서 테이블·열 이름을 자동 완성합니다.
- Run은 쿼리를 실행하고(또는 ⌘/Ctrl + Enter를 누름), Clear는 편집기를 비웁니다.
- 결과는 쿼리 아래 테이블로 나타납니다. 쿼리가 실패하면 그 자리에 오류 메시지가 표시됩니다.
쿼리에 DELETE, DROP, TRUNCATE, ALTER, UPDATE 같은 파괴적인 구문이 포함되면 Lovable이 실행 전에 확인을 요청합니다.
SQL이 필요한 경우는 드뭅니다. 대부분의 변경은 원하는 바를 채팅으로 설명하는 편이 더 안전합니다. Lovable은 각 변경을 프로젝트 코드에 migration 파일로 기록하고, 게시된 앱을 망가뜨릴 수 있는 변경은 거부합니다. Lovable이 데이터베이스 구조를 변경하는 방식을 참고하세요.
Lovable이 데이터베이스 구조를 변경하는 방식
프로젝트 채팅에서 새 테이블, 열, 접근 규칙을 요청하면 Lovable이 변경을 적용하고, 앱 코드가 데이터베이스를 읽고 쓸 때 사용하는 타입을 업데이트합니다. Lovable은 각 변경을 프로젝트 코드의 drizzle/migrations/ 아래에 migration 파일로 기록합니다. migration 파일은 데이터베이스 구조의 변경 하나를 기술하는 SQL 파일이므로, 데이터베이스가 어떻게 만들어졌는지 전체 이력이 코드에 남습니다. Lovable은 데이터베이스 migration용 오픈 소스 도구인 Drizzle을 사용해 이 파일을 만들고 적용합니다. 이전 migration 파일이 있는 프로젝트는 그 파일을 supabase/migrations/ 아래에 그대로 유지합니다.
Lovable은 게시된 앱을 망가뜨릴 수 있는 다음 변경을 거부합니다.
- 테이블이나 열 삭제 또는 이름 변경
- 열 유형 변경
- 기본값 없이 필수 열 추가
대신 Lovable은 데이터베이스에 무언가를 추가하는 방식으로 같은 결과에 도달합니다. 예를 들어 새 열을 추가하고 데이터를 그 열로 복사합니다. 기존 열은 그대로 남습니다. Lovable이 이런 변경을 직접 하도록 허용하려면 Cloud 권한에서 Execute backward incompatible database migrations를 Ask each time 또는 Always allow로 설정하세요. Ask each time으로 설정하면 Lovable이 변경을 적용하기 전에 SQL을 보여 주고 승인을 요청합니다.
Lovable이 프로젝트 코드의 drizzle 폴더와 drizzle.config.ts 파일을 관리하므로 이 파일들은 그대로 두세요.
지원되는 PostgreSQL 확장
PostgreSQL 확장(extension)은 예약 작업이나 벡터 검색처럼 데이터베이스에 기능을 추가합니다. Lovable Cloud 데이터베이스는 정해진 확장만 지원합니다.
| 확장 | 용도 |
|---|---|
pg_cron | 예약 작업 |
pg_net | 데이터베이스에서 보내는 HTTP 요청(예: Edge Function 호출) |
supabase_vault | 데이터베이스에 저장하는 암호화된 시크릿 |
pg_trgm | 퍼지 텍스트 검색과 유사도 매칭 |
vector | 임베딩과 벡터 유사도 검색 |
btree_gist, btree_gin | 배제 제약 조건 등에 쓰는 추가 인덱스 유형 |
unaccent | 악센트를 구분하지 않는 검색 |
fuzzystrmatch | 발음 기반·편집 거리 기반 문자열 매칭 |
postgis | 지리·공간 데이터 |
pgmq | 메시지 큐 |
모든 Cloud 데이터베이스에는 plpgsql, pg_graphql, pg_stat_statements, pgcrypto, uuid-ossp, pgsodium도 미리 설치되어 있습니다.
지원되는 확장을 활성화하려면 프로젝트 채팅에서 Lovable에게 요청하거나 SQL editor에서 다음 구문을 실행하세요.
CREATE EXTENSION IF NOT EXISTS pg_trgm;Lovable은 그 밖의 확장에 대한 CREATE EXTENSION 구문을 실행 전에 거부합니다. 프로젝트 채팅에서 요청할 때, SQL editor에서 SQL을 실행할 때, Lovable API나 Lovable MCP 서버로 SQL을 보낼 때 모두 적용됩니다. SQL editor에는 Unsupported PostgreSQL extension 오류가 표시됩니다. API는 오류 유형이 unsupported_extension이고 지원되는 확장 목록을 담은 메시지와 함께 403 응답을 반환합니다.
지원되지 않는 확장이 필요한 기능을 요청하면 Lovable은 대신 일반 SQL로 그 기능을 만듭니다. 예를 들면 다음과 같습니다.
citext대신lower(column)에 고유 인덱스를 건text열을 사용합니다.hstore대신jsonb열을 사용합니다.http대신pg_net으로 요청을 보냅니다.
데이터베이스에 이미 설치된 확장은 계속 작동합니다. Cloud 대신 자체 Supabase 프로젝트를 사용하는 프로젝트는 영향을 받지 않습니다.
Row-level security(RLS) 정책
Row-level security(RLS)는 사용자가 데이터베이스·스토리지·실시간 기능 전반에서 어떤 데이터에 접근할 수 있는지를 제어합니다. 정책은 로그인한 사용자가 어떤 행을 보거나 변경할 수 있는지 결정하는 규칙이라고 생각하면 됩니다. 예를 들어 "사용자는 자기 주문만 읽을 수 있다"와 같습니다. Lovable은 사용자 데이터를 저장하는 기능을 만들 때 이러한 규칙을 자동으로 설정하므로, 한 사용자의 비공개 데이터가 다른 사용자에게 제공되는 일이 없습니다.
규칙을 검토하려면 More → Cloud → Database → RLS policies로 이동합니다. RLS policies 뷰는 각 정책을 다음 항목과 함께 나열합니다.
- Policy name: 규칙의 용도
- Command: 규칙이 적용되는 동작. SELECT는 데이터 읽기, INSERT는 추가, UPDATE는 변경, DELETE는 제거입니다.
- Applies to: 규칙이 적용되는 사용자. 예를 들어 로그인한(authenticated) 사용자나 익명(anon) 사용자입니다.
- Rule expression: 동작이 허용되기 위해 참이어야 하는 조건
섹션(Tables, Storage, Realtime)과 테이블 기준으로 필터링할 수 있습니다.
RLS policies 뷰는 읽기 전용입니다. 정책을 변경하려면 채팅에서 Lovable에게 요청합니다. 예를 들면 다음과 같습니다.
사용자가 자기 인보이스만 볼 수 있게 해줘.백업 및 복원
Lovable은 프로젝트의 데이터베이스를 매일 백업합니다. More → Cloud → Database → Backups에서 탐색하고 복원할 수 있습니다. 약 14일의 백업이 보존됩니다.
각 항목은 UTC 스냅샷 타임스탬프를 표시합니다(예: 18 May 2026, 04:27:12 UTC).
백업 행의 Restore to this backup을 클릭하고 대화상자에서 확인합니다. Lovable이 데이터베이스를 해당 시점으로 롤백합니다(스키마와 데이터). 복원이 실행되는 동안 프로젝트의 데이터베이스는 몇 분간 사용할 수 없습니다.
복원은 영구적입니다. 선택된 백업 이후에 생성되거나 변경된 데이터는 모두 손실됩니다. 스키마도 되돌려지므로 백업 이후에 변경된 경우 앱이 데이터베이스와 더 이상 일치하지 않을 수 있습니다.
복원이 완료되면 채팅에서 Lovable에게 앱을 테스트하고 스키마 불일치를 패치해 달라고 요청하세요.
복원은 프로젝트에 대한 편집 액세스가 있는 누구나 사용할 수 있습니다. Enterprise 플랜에서는 모든 복원이 워크스페이스 감사 로그에 기록됩니다.
데이터베이스 헬스 체크
Lovable 채팅에서 직접 연결 수, 메모리, 디스크 사용량, 가동 시간 등을 포함한 Cloud 데이터베이스의 온디맨드 스냅샷을 받습니다.
Lovable에게 다음과 같이 채팅으로 프롬프트하세요.
Run a health check on my Cloud database.Lovable이 데이터베이스의 현재 상태 요약을 반환하므로 높은 연결 수, 낮은 디스크 공간, 메모리 부족 같은 이슈를 앱에 영향을 주기 전에 빠르게 발견할 수 있습니다. 요약에는 최근 48시간 동안 발생한 CPU·메모리·디스크 pressure 알림도 함께 표시됩니다.
데이터베이스 성능 문제 찾기 및 수정
Lovable이 데이터베이스에서 가장 느린 쿼리를 찾아 그 데이터로 성능을 최적화할 수 있습니다. 더 큰 인스턴스를 고려하기 전에 실제 병목을 먼저 수정하세요.
Lovable에게 다음과 같이 채팅으로 프롬프트하세요.
My app feels slow. Find the slowest database queries and optimize the worst ones.Lovable이 데이터베이스의 쿼리 통계를 읽어 총 실행 시간 기준으로 가장 무거운 쿼리를 호출 횟수·타이밍 데이터와 함께 순위 매깁니다. 그런 다음 최악의 쿼리를 조사하고 실행 계획을 검토한 뒤 인덱스 추가 같이 효과가 있는 곳에 최적화를 적용합니다.
알아두어야 할 사항은 다음과 같습니다.
- 쿼리 통계는 앱이 실제 트래픽을 처리하면서 쌓입니다. 새로 만들었거나 최근 재시작된 데이터베이스는 아직 보고할 내용이 없을 수 있습니다.
- 느린 쿼리 찾기는 읽기 전용 작업입니다. Lovable은 수정 사항을 적용할 때만 데이터베이스를 변경하며 변경 내용을 알려줍니다.
데이터베이스 비밀번호 교체
프로젝트의 데이터베이스에는 Lovable이 관리하는 비밀번호가 있으므로 직접 확인하거나 보관할 필요가 없습니다. 정기적인 보안 조치로 언제든지 Lovable에게 교체를 요청할 수 있습니다. Lovable에게 다음과 같이 프롬프트하세요.
Rotate my database password.Lovable이 새 비밀번호를 생성하고 적용 전에 확인을 요청합니다. Lovable은 새 비밀번호를 표시하지 않으며, 앱은 변경 없이 계속 작동합니다.
프로젝트에 대한 편집 액세스가 있는 누구나 비밀번호를 교체할 수 있습니다. Lovable은 기본 제공 백엔드(Cloud)에 대해서만 비밀번호를 교체하며, 연결된 Supabase 프로젝트는 교체하지 않습니다. Enterprise 플랜에서는 모든 교체가 워크스페이스 감사 로그에 기록됩니다.