본문 바로가기
Framework/Laravel Framework

[Laravel] DB, ORM,Migration

by 원동호 2019. 4. 11.

.env 파일에서 db 정보를 변경 할 수 있다.

 

migration - 마이그레이션은 손쉽게 애플리케이션의 데이터베이스를 수정하고 데이터베이스 스키마를 공유할 수 있도록 해주며 데이터베이스를 위한 버전 컨트롤과 같은 역할을 한다. 마이그레이션은 보통 라라벨의 스키마 빌더와 쌍을 이루어 애플리케이션의 데이터베이스 스키마를 손쉽게 만들 수 있다.

 

설명은 장황하지만 쉽게 생각하면 수동으로 테이블을 수정,삭제,생성 하는게 아니고 php artison 명령어로 migration을 생성 후 적용 하면 손쉽게 데이터베이스를 수정 할 수 있다.

 

라라벨 프로젝트를 생성하게 되면 기본적으로 database\migration 디렉토리에 create_users_table.php와 create_password_resets_table.php 파일이 생성 되어 있다.

 

command창에서 php artisan migrate 명령어를 입력하게 되면 database\migration 디렉토리의 모든 .php 파일을 읽어 마이그레이션을 실행하고 DB에 적용 된다.

 


마이그레이션 파일 생성하기

 

마이그레이션 파일을 생성하기 위해서는 make:migration 아티즈 명령어를 사용한다

php artisan make:migration "생성하고 싶은 파일명(ex) create_users_table)"

 


마이그레이션의 구조

 

마이그레이션 클래스는 up과 down 두개의 function을 가지고 있다. up function은 DB에 테이블, 컬럼, 인덱스를 추가하는데 사용 되고, 이와 반대로 down function은 up function의 동작을 취소하는 역할을 한다. 아래는 migration class이다.

 


마이그레이션 실행하기

 

php artisan migrate

 

 

 


마이그레이션의 장점

 

DB 스키마를 쉽게 공유할 수 있다.

migration 이력이 남아 버전 관리를 할 수 있다.

댓글0