본문 바로가기
Laravel/코지코더

코지코더 - 라라벨 06. 데이터베이스 연결과 마이그레이션

by SKim입니다 2020. 6. 4.

오늘 배울 것

- 라라벨 프로젝트를 MySQL 데이터에 연결

- 마이그레이션 파일 생성

- 생성된 마이그레이션 파일을 이용해서 DB에 마이그레이트 하는 방법

 

.env 파일

 

config - database.php 파일

env파일에 있는 정보를 바로 가져다 쓰면 보안에 안 좋기 때문에

database.php 파일에 가져온 후에 갖다 쓴다.

 

일단 컴퓨터에 MySQL DB가 설치돼있어야 한다.

phpMyadmin, HeidiSQL 등을 사용한다.

 

새로운 DB를 만들었다.

 

DB이름을 바꿔준다.

(+USERNAME, PASSWORD도 다르면 바꿔준다.)

 

원래 DB 안에 테이블을 만들 때 id 등 필드를 만들어줘야 하는데,

라라벨에서 마이그레이션 파일을 만들고

명령어로 그 테이블을 생성할 수 있는 좋은 기능을 제공하고 있다.

 

(1) up - 마이그레이션 파일을 실행시켰을 때

 users라는 테이블을 만들고

 그 안에 이런 필드들을 넣겠다.

 

(2) down - 마이그레이션 테이블을 지운다. 되돌린다.

 

 

 

이 두 개의 테이블을 DB에 넣어보겠다.

 

터미널을 열고(Ctrl+~)

라라벨 프로젝트 폴더 안에 들어가서

 

php artisan migrate

 

 

migrations 테이블의 데이터 탭을 보면

이렇게 나와있다.

마이그레이트 한 것들의 내역이 나온다.

 

batch 1은 첫번째로 마이그레이트 되었다는 소리다.

 

만약 나중에 마이그레이션 파일을 하나 더 만들어서

php artisan migrate를 하면

id 3번으로 추가되면서 batch는 2가 된다.

 

 

만약 필드를 추가해야 해서 마이그레이션을 되돌려서 지우고 싶다면

php artisan migrate:rollback

새로고침해보면 롤백이 되었다.

 

마이그레이션 파일을 만드는 것의 장점

: 협업할 때 내가 작업한 것을 깃으로 다른 사람이 받아서

php artisan migrate마나 하면 여기 있는 것들이 저절로 다

DB에 필요한 테이블들을 생성해준다.

 

 

php artisan migrate:rollback과

php artisan migrate을 한번에 하려면

 

php artisan migrate:fresh

 

 

nullable: 없어도 된다.

 

String보다 긴 텍스트를 넣고 싶다면 longText로 한다.

댓글