분류 전체보기

    sequelize 외래키 설정

    1. model/index.js const Sequelize = require("sequelize"); // config.js에서 module.exports = config 내보내기를 하고 // require("../config/config") 가져오면 내보낸 객체가 가져와진다. const { config } = require("../config/config"); const User = require("./users"); const Post = require("./post"); //시퀄라이즈 객체 생성 옵션을 적용한 객체 만들어 놓는다. const sequelize = new Sequelize( config.dev.database, config.dev.username, config.dev.password..

    [키보드워리어] sequelize foreign key 오류

    mysql 은 RDS로 관계형 데이터베이스이다. 그렇기 때문에 참조하는 외래키를 만들수가 있다. 나는 이 외래키를 만들다가 오류와 부딪혔고 상당한 시간을 보냈다. 이유는 참조 대상이었다. 외래키를 쓰기전 외래키를 찾아보니 부모와 자식처럼 연결시켜주면서 자식이 부모의 값을 참조하여 값을 따로 저장시키는게 아닌 외래키로 설정된 값은 부모의 값을 참조하여 가져오기 때문에 속도적인 측면에서 좋고 부모의 테이블을 쉽게 접근할수 있다고 찾았다. 그래서 나는 최대한 많이 외래키를 적용하는게 좋다고 생각했다. 그렇게 겹치는 부분을 최대한 외래키로 잡아준후 적용했다. 결과는 외래키 참조 오류가 떴다. 문제는 외래키의 값은 동일해야 된다는 것이었다. 나는 처음 외래키 설정코드의 문제인줄알고 이것저것 코드를 만져보다 오류코..

    [키보드워리어] 2022.08.23 git merge 병합 실수

    순조롭게 코딩을 하던도중 팀원과 merge를 한후 갑자기 내가 만들었던 기능들이 사라져있었다. 굉장히 당황스러웠다. merge를 하면서 병합충돌이 떴던부분을 대수롭지 않게 생각하고 아무거나 클릭했나보다 생각했다. 실수하면 rebase, reset 하면 되겠지라고 너무 안일하게 생각하고 있었다. 이후 오류가 있기전 커밋을 찾아 reset hard로 돌아가서 다시 병합을 시도해봤는데 병합충돌이 뜨지도 않고 팀원이 했던 부분을 내 코드로 덮어버렸다.. 팀원이 해도 마찬가지 였다. 지금생각해보면 merge 병합충돌 문제가 아니라 다른부분에서 또 문제가 있었나 생각이 든다. 5시간동안 여러가지 test를 하며 병합을 해보며 같은 파일을 수정할때 병합충돌을 조사했다. 같은 파일에 서로 다른 코드를 적으면 merge..

    [키보드워리어] 시작, 가로스크롤, 깃에러

    기존 만들었던 SNS에 서버를 입혀서 다시 만들어보려고한다. 처음에는 기존에 있던 코드를 리팩터링해서 쓰려고 했지만 서버를 배우기전 작성했던 코드는 너무 난잡하고 보기 흉했다.. 그래서 처음부터 코드를 다 갈아엎고 새출발하기로 마음먹었다. GitHub - TeTedo/KeyboardWarrior Contribute to TeTedo/KeyboardWarrior development by creating an account on GitHub. github.com before after 로 폴더를 나누고 서버를 입히는건 after에 넣을 예정이다. 전에 하지 않았던 노션으로 비록 2명이지만 협업툴을 사용할 예정이다. 저번에 기획을 제대로 하지 않고 무작정 코딩부터 시작하면서 기획의 중요성을 깨달았다. 그래서..

    [Node.js] mysql FOREIGN KEY

    1. mysql FOREIGN KEY 데이터베이스 테이블의 컬럼값끼리 관계를 정할수 있다. const dot = require("dotenv").config(); const config = { dev: { user: "root", password: process.env.DB_PASSWORD, database: "text9", multipleStatements: true, } } module.exports = config; 테이블에 컬럼값 넣어서 만들기 const sql = "CREATE TABLE users (id INT AUTO_INCREMENT, username varchar(255), PRIMARY KEY (id));"; const sql2 = "CREATE TABLE items (id INT AU..

    [Node.js] 로그인 만들기

    간단 암호화된 로그인 만들어 보기 JS // 모듈 express, fs, mysql // express열고, 데이터베이스 연결까지 // 데이터베이스 이름은 test8 // express에서 body객체 사용 const express = require("express"); const fs = require("fs"); const app = express(); const mysql = require("mysql2"); let client = mysql.createConnection({ user: "root", password: "kga22C3_05^", database: "test8", multipleStatements: true, }); const makeTable = "CREATE TABLE users ..