애플리케이션이 변경할 경우 스키마도 같이 변경해야 하는 경우가 많으며 특히 초기 개발시에 자주 발생하는 작업입니다.
라라벨 migration 은 스키마의 버전 관리가 가능하므로 잦은 변경이 발생할 때 유리합니다.
Projects 테이블에 프로젝트를 구분하기 위한 새로운 컬럼인 label 이 추가될 경우 다음과 같은 절차에 따라 작업이 이루어 집니다.
migration 생성
make:migration 명령어로 새로운 마이그레이션을 생성하며 이름은 나중에 알아보기 쉽게 스키마 변경을 상세하게 적어줍니다. 기존 스키마 변경이므로 --create 옵션 대신 --table 옵션으로 대상이 되는 테이블 이름을 지정합니다.
$ php artisan make:migration add_label_column_to_project_table --table=projects
Created Migration: 2015_07_20_034902_add_label_column_to_project_table
CODE
파일(2015_07_20_034902_add_label_column_to_project_table)이 생성되었고 마이그레이션 클래스는 작업명인 add_label_column_to_project_table 를 studly_case() 헬퍼 메소드를 사용하여 StudlyCase 로 변환한 이름인 AddLabelColumnToProjectTable 입니다.
php artisan tinker 를 사용하여 간단하게 생성되는 클래스 파일명을 확인할 수 있습니다.