PS C:\Users\jangj\Documents\workspace-cursor\schedule-note2> npx prisma migrate dev --name note culurm change Environment variables loaded from .env Prisma schema loaded from prisma\schema.prisma Datasource "db": PostgreSQL database "postgres", schema "public" at "aws-0-ap-northeast-2.pooler.supabase.com:5432" Drift detected: Your database schema is not in sync with your migration history. The ..
목표: TypeScript 프로젝트에서 Prisma ORM을 사용하여 데이터베이스와 상호작용할 수 있도록 설정합니다. 사전 준비:Node.js (LTS 버전 권장) 및 npm/yarn 설치TypeScript 프로젝트 (새로운 프로젝트 생성 또는 기존 프로젝트 사용)사용할 관계형 데이터베이스 (예: PostgreSQL, MySQL, SQLite)가 설치되어 있거나 접근 가능한 상태여야 합니다.1단계: Prisma 패키지 설치먼저 프로젝트에 Prisma CLI 도구와 Prisma Client 라이브러리를 설치합니다. @prisma/client는 데이터베이스와 상호작용하는 데 사용되는 타입 안전한 쿼리 빌더이며, prisma는 CLI 도구입니다.npm install prisma @prisma/client# 또..
Prisma ORM은 Node.js 및 TypeScript를 위한 차세대 ORM(Object-Relational Mapping) 도구입니다. ORM은 객체 지향 프로그래밍 언어에서 데이터베이스를 마치 객체처럼 다룰 수 있도록 도와주는 기술입니다. 즉, SQL 쿼리를 직접 작성하지 않고도 코드에서 데이터베이스와 상호작용할 수 있게 해주는 "다리" 역할을 합니다. Prisma ORM은 기존 ORM들이 가지고 있던 여러 문제점을 해결하고, 현대적인 웹 개발 환경에 최적화된 기능을 제공하는 것을 목표로 합니다. Prisma ORM의 주요 구성 요소 및 특징:Prisma Schema:Prisma의 핵심은 schema.prisma 파일입니다. 이 파일은 데이터베이스의 스키마를 정의하는 역할을 합니다. 마치 데이터베..
The main differences between the prisma migrate dev and prisma db push commands are:1. Purpose and Workflowmigrate dev is designed for development environments and is used to create, apply, and track migrations. It generates SQL migration files based on changes in your Prisma schema, applies them to your database, and updates the migration history. This command helps you maintain a record of all..
To set up relations in your Prisma schema, you define connections between models using relation fields and the @relation attribute. Here’s how you can do it for the main types of relations:1. One-to-Many RelationFor example, a User can have many Posts, but each Post has only one User as its author:model User { id Int @id @default(autoincrement()) posts Post[] }model Post { id ..
Prisma 주요 명령어1. prisma migrate데이터베이스 스키마 변경사항을 추적하고 관리하는 명령어 세트입니다.prisma migrate dev: 개발 환경에서 마이그레이션 파일을 생성하고 적용합니다. 변경 내용을 추적하는 히스토리를 남깁니다.prisma migrate reset: 데이터베이스를 초기화하고 모든 마이그레이션을 처음부터 다시 적용합니다.prisma migrate deploy: 프로덕션 환경에서 마이그레이션을 실행합니다. 히스토리를 따라 마이그레이션을 순차적으로 적용합니다.prisma migrate status: 현재 마이그레이션 상태를 확인합니다.2. prisma generatePrisma Client를 생성하는 명령어입니다.schema.prisma 파일을 기반으로 타입 안전한 데..
-- 스키마 권한 부여GRANT USAGE ON SCHEMA public TO postgres, anon, authenticated, service_role;-- 모든 테이블에 대한 권한 부여GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO postgres, anon, authenticated, service_role;-- 모든 시퀀스에 대한 권한 부여GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO postgres, anon, authenticated, service_role;-- 모든 함수에 대한 실행 권한 부여GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO..
Supabase의 UUID 값을 id BigInt @id @default(autoincrement()) 대신 사용하는 것은 일반적으로 안전하며, 많은 경우에 더 나은 선택일 수 있습니다. 각각의 장단점을 고려하여 프로젝트의 요구 사항에 맞게 결정하는 것이 중요합니다.BigInt @id @default(autoincrement())의 특징 및 고려 사항:장점:성능: 숫자형 ID는 인덱싱 및 비교 연산에서 UUID보다 약간 더 빠를 수 있습니다. 특히 데이터베이스 규모가 매우 커지는 경우에 미미한 성능 향상을 기대할 수 있습니다.순차적인 정렬: 자동 증가하는 숫자는 생성 순서대로 정렬하기 쉽습니다.간결함: UUID보다 사람이 읽고 이해하기 쉽습니다.단점:확장성 및 병합: 여러 데이터베이스 또는 분산 시스템 ..
Prisma의 보안 강점서버 사이드 전용: Prisma는 서버에서만 실행되므로 데이터베이스 접근 로직과 자격 증명이 클라이언트에 노출되지 않습니다.SQL 인젝션 방지: Prisma는 파라미터화된 쿼리를 사용하여 SQL 인젝션 공격을 자동으로 방지합니다.접근 제어: 애플리케이션 로직을 통해서만 데이터베이스에 접근할 수 있어, 세밀한 접근 제어가 가능합니다.타입 안전성: TypeScript와의 통합으로 런타임 오류를 줄이고 보안 취약점이 발생할 가능성을 낮춥니다.Supabase의 보안 고려사항클라이언트 노출: 클라이언트에서 직접 데이터베이스 작업을 수행할 수 있어, 잘못 구성될 경우 보안 위험이 있습니다.RLS(Row Level Security): Supabase는 PostgreSQL의 RLS를 사용하여 보..
Supabase vs Firebase: 비교 분석Supabase와 Firebase는 모두 백엔드 개발을 간소화하기 위해 데이터베이스, 인증, 스토리지 등 다양한 기능을 제공하는 Backend-as-a-Service (BaaS) 플랫폼입니다. 하지만 데이터베이스 구조, 가격 정책, 커스터마이징 가능성, 생태계 지원 측면에서 큰 차이가 있습니다. 아래는 두 플랫폼의 상세 비교입니다.주요 차이점데이터베이스 구조Supabase: PostgreSQL 기반의 관계형 SQL 데이터베이스를 사용합니다. 복잡한 관계형 데이터와 고급 쿼리 기능이 필요한 경우 적합합니다.Firebase: Firestore라는 NoSQL 문서 기반 데이터베이스를 사용합니다. 유연하거나 비구조적인 데이터 모델에 적합합니다.오픈소스 여부Supa..
- Total
- Today
- Yesterday
- jsp 오픈 소스
- await
- 진수 변환
- 메이븐(maven)
- jstl(java standard tag library)
- jstl(java standard tag library)-core
- java.sql
- 람다식(lambda expression)
- 스프링 시큐리티(spring security)-http basic 인증
- 인텔리제이(intellij)
- system.io
- nl2br
- error-java
- In App Purchase
- 특정 문자를 기준으로 자르기
- REST API
- java-개발 환경 설정하기
- docker
- 스프링 프레임워크(spring framework)
- React
- 표현 언어(expression language)
- java web-mvc
- System.Diagnostics
- 제품 등록
- 스프링 프레임워크(spring framewordk)
- .submit()
- MainActor
- 스프링 시큐리티(spring security)
- java 키워드 정리
- 문자 자르기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |