본문 바로가기

DB8

기존 인덱스 기반 테이블에서 UUID 기반 구조로 데이터 이관하기 들어가며목적기존 테이블의 데이터를 새롭게 설계된 테이블 구조로 이관한다.이 과정에서 기존에 인덱스로 관리되던 유저 아이디는 UUID로 교체한다.이 글에서 다룰 내용데이터 추출UUID 매핑새로운 테이블 DDL 생성데이터 매핑스냅샷 생성 후 삭제1. 데이터 추출1.1. 기존 데이터 추출하기mysqldump는 데이터베이스의 데이터를 가져오는 읽기 전용 명령어이고, 기본 사용은 아래와 같다.mysqldump -h -u -p --databases > 예를 들어보면, 다음은 127.0.0.1 호스트, 3307 포트, admin 사용자, example 데이터 베이스를 backup.sql 파일명으로 저장한다는 명령어이다. 명령어 실행 후 비밀번호를 입력하면 해당 명령어를 실행한 터미널의 현재 디렉터리에 backu.. 2025. 6. 2.
TypeORM 다대다 연결 시 관계테이블 이름 커스텀하기 TypeORM 다대다 연결TypeORM을 통한 다대다 연결을 구성하는 방법을 정리해보겠습니다. 공식문서(many-to-many relations)에 있는 예시를 통해 개략적인 기능을 설명하고, 옵션을 통해 저장되는 테이블명과 컬럼명을 커스텀하는 것도 설명해보겠습니다.기본 설정// category.ts@Entity()export class Category { @PrimaryGeneratedColumn() id: number @Column() name: string}// questioin.ts@Entity()export class Question { @PrimaryGeneratedColumn() id: number @Column() title: string @.. 2025. 1. 18.
엔티티(Entity)란 무엇인가? 참고자료 https://typeorm.io/entities#what-is-entity #엔티티 엔티티는 데이터베이스 테이블에 매핑되는 클래스다. @Entity() 데코레이터를 통해 구현 가능하다. @PrimaryColumn 또는 @PrimaryGeneratedColumn을 통해 primary key를 설정해줘야 한다. - @PrimaryGeneratedColumn("uuid") - id 로 uuid 자동 생성 - 2개도 가능 - 만약 테이블 컬럼명이 id, ids 라면 create 진행 시 id,ids를 입력해주면 upsert 기능 자동 구현 엔티티를 사용하려면 데이터소스에 등록해줘야 한다. - 혹은 엔티티를 모아놓은 폴더 자체를 등록할 수도 있다. @Entity() 괄호 내부에 따옴표로 원하는 이름을 .. 2022. 12. 10.
시작하기 - Entity 관계 만들기(MySQL Key종류) # 일대일 관계 만들기(one-to-one) - @OneToOne 데코레이터를 사용하고, 안에 연결하고 싶은 엔티티를 다음과 같은 형식으로 기재한다. () => - @JoinColumn 데코레이터를 사용해서 관계 설정 시 중심이 되는 엔티티를 표현한다. (Owner side of the relationship) // photometadata.entity.ts import { Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn, } from 'typeorm'; import { Photo } from './photo.entity'; @Entity() export class PhotoMetadata { @PrimaryGeneratedColumn() id.. 2022. 10. 19.