211109 TIL

CoderS·2021년 11월 9일
0

TIL DAY 96

오늘 배운 일

✔️ Node.js 백엔드 개발

  • Primary key란?

    예 )

    위에 코드를 잘 보면, 다른 프로퍼티는 데이터타입을 나타내는 type이라는 속성만 존재하지만, id만 다양한 속성들이 있다.

    id란 Members 테이블에서 각각의 직원의 정보를 고유의 식별해주는 프로퍼티다.

    위에 있는 id 프로퍼티를 지칭하는 단어가있다.
    그것은 Primary Key라고 부른다.

    Primary Key?

    • 데이터베이스의 테이블에서 특정 row를 고유하게 식별 할 수 있게 해주는 column이다.

    그 말은 즉, 위의 id 프로퍼티가 id colum으로 되어서, members 테이블에 Primary Key로 된다.

    sequelize를 실행할 때, Primary Key가 되는 프로퍼티를 지정해두지 않으면, 이렇게 id라는 프로퍼티의 추가하고 Primary Key로 설정한다.

    중요한 포인트!

    • Primary Key는 반드시 allowNull 속성이 무조건 false이여야한다.

    • Null이란 column이 없다는 의미

    • allowNull은 null을 허용하지 않는다는 말이다.

    • 그 말은 즉, 해당 column에는 항상 값이 존재해야한다.

      autoIncrement란?

      • Members 테이블에 새로운 직원 정보를 삽입할 때 마다, id column에 이전 값보다 1이 더 큰 값을 데이터베이스가 자동으로 넣어주는 기능.
  • seed 데이터 넣기

    • Members 테이블에 직원 정보 추가하기!

      • 테이블에 가장 처음에 넣는 데이터를 'seed 데이터'라고 부른다.
      • sequelize -cli 명령으로 추가가 가능하다.

      명령어

      이 명령어는 seed 데이터를 추가하는 내용을 담은 파일을 생성하고, 그 파일의 이름을 initialMembers라고 한다.

      실행을 시키면,

      seeders라는 디렉토리에 새로운 파일에 생성된 것을 볼 수 있다.

      결과값 :

      이전에 본 migrations 파일과 비슷한 면이 있다.
      객체 하나가 웹으로 공개되어있고 해당 객체에 up, down 메소드가 존재한다.

      up메소드에서는 seeder 파일에 때 적용할 내용이,
      down메소드에서는 seeder 파일에 적용 해제될 때 내용이 적혀있다.

      코드를 새롭게 추가해보겠다.

      up 메소드에서는, Members 테이블에 배열에 있는 직원 정보들을 한 번에 삽입하라는 뜻이다.

      down 메소드에서는, Members 테이블에 있는 row를 삭제하라는 뜻이다.

      그러면 해당 seeder 파일을 적용해서, 실제로 seed 데이터를 삽입해본다.

      터미널에.....

      위에처럼 터미널에다가 적으면, seeders 디렉토리에 있는 모든 seeder 파일들이 적용된다.
      결과적으로, 방금전에 적은 seeder 파일이 적용될 것 이다.

      seeder 파일에 적용되어있기 때문에, Members 테이블에 10명의 직원의 정보가 들어있다.

끝으로 :

  • 오늘은 Primary Key와 seed 데이터를 넣는 방법에 대해 알아보는 시간을 가졌습니다.
  • 둘다 중요한 정보이므로, 다시 한번 복습을하는게 좋은 선택인 것 같다.
profile
하루를 의미있게 살자!

0개의 댓글