본문 바로가기
반응형

sequelize4

[Sequelize/Node.js] commit has been called on this transaction 에러 해결 'commit has been called on this transaction' 에러 해결 1. Error 메시지 단순히 Flag 값 하나를 업데이트 시켜서 저장하는 함수를 만들었는데 다음과 같이 에러가 났다. Sequelize의 비동기 transaction을 이용하여 업데이트 및 저장 하는 함수인데 뭐가 잘못된건지 찾느라 헤맸다. 2. 해결 방법 아래와 같이 두 코드를 비교해보면 id로 공고 정보를 찾아 del_status라는 flag 값을 변경 후, save()함수를 이용하여 저장해야하는데 await 을 추가해야 순차적으로 실행되므로 다음과 같이 수정했다. //문제 코드 const deleteRecruit = async (recruit_id : number) => { const result = awa.. 2023. 1. 31.
[Sequelize] ForeignKey로 Cascade delete 적용하기 Sequelize Cascade Delete 적용 1. Model Column에 외래키 설정 자식 테이블에서 외래키로 설정된 Column에 reference 옵션으로 아래와 같이 외래키를 설정해주고 onDelete 옵션에 "CASCADE"를 설정해 준다. export class PersonB extends Model { @Column({ type: DataTypes.INTEGER, primaryKey:true, references: { model:'member-backup', key:'member_id' }, onDelete: "CASCADE"}) member_id!: number; //회원id @Column({ type: DataTypes.STRING(20), allowNull: true}) name!.. 2022. 12. 15.
[GraphQL] GraphQL 사용법 - (3) Sequelize 사용하기(1:1, ForeignKey, Join) Sequelize 테이블 연결 및 외래키 사용 1. Sequelize 테이블 관계 테이블 관계는 1:1, 1:N, M:N 이 있는데 foreignkey를 이용하여 서로 관계를 맺으며 join을 통해 연결된 테이블의 정보까지 불러올 수 있다. 참조 : https://sequelize.org/docs/v6/core-concepts/assocs/ Associations | Sequelize Sequelize supports the standard associations: One-To-One, One-To-Many and Many-To-Many. sequelize.org A.hasOne(B, { /* options */ }); // A는 한 개의 B를 갖는다. A : B = 1 : 1 A.belongsTo(B,.. 2022. 9. 30.
[GraphQL] GraphQL 사용법 - (2) Sequelize + MSSQL 연동 Sequelize + MSSQL 1. Sequelize란? Node 에서 자주 사용되는 ORM 라이브러리다. ORM(Object-Relational Mapping)이란 관계형 데이터베이스와 자바스크립트 객체를 서로 연결해주는 도구로 좀 더 DB작업을 쉽게 처리할 수 있도록 도와준다. 타입스크립트를 이용하여 구현할 거기 때문에 sequelize-typescript를 설치한다. $npm install sequelize-typescript 2. sequelize 연결 설정 DB 정보를 저장할 .env파일을 root에 생성하고 DB_HOST, DB_PORT 등 사용할 변수들을 선언해 놓고 값을 입력해 놓으면, process.env.[변수명] 으로 접근 가능하다. 여러 파일들 에서도 하나의 instance에 접근.. 2022. 9. 29.
반응형