본문 바로가기

백/라라벨

[라라벨] 테이블에 컬럼 추가 변경 삭제 하는 방법

반응형

테이블에 컬럼을 한번에 짠하고 생성하고 썼으면 좋겠지만,

개발을 하다보면 컬럼을 변경해야 하는 경우가 수 없이 생긴다.

 

라라벨은 이런 경우에 대비해서 migration 을 준비해 두었는데,

그것을 알아 보고자 한다.


사전 작업으로 패키지를 하나 설치한다.

composer require doctrine/dbal

작업 하고자 하는 테이블의 migration 파일을 추가해 주는데

나는 보통 add_to를 이용해서 생성해준다. 다른 명령어를 써도 상관은 없는듯 하다.

php artisan make:migration add_column_to_tests_table

위 부분에서 tests 대신에 작업 할 테이블명을 적어주면 된다.

 

위와 같이 적으면 라라벨 프로젝트 폴더에 database\migrations 폴더 아래에 파일이 하나 생성 되는데

만약 users 테이블을 넣었다고 가정하면 다음과 같은 코드가 나타난다.

 

여기서 주석친 부분에 컬럼을 추가 수정 삭제 할 수 있는데 다음과 같다.


컬럼 추가

보통의 테이블 생성 때와 같이 생성해주면 된다.

Schema::table('users', function (Blueprint $table) {
            $table->dateTime('birthday')->nullable();
        });

컬럼명 변경

renameColunm ('바꿀이름', '새이름') 명령을 사용해 준다.

Schema::table('users', function (Blueprint $table) {
            $table->renameColumn('nickname', 'nick');
        });

컬럼 속성 변경

뒤에 change() 를 붙여 준다.

Schema::table('users', function (Blueprint $table) {
            $table->string('nickname', 48)->change();
        });

컬럼 삭제

dropColumn('컬럼명')을 사용해 준다.

Schema::table('users', function (Blueprint $table) {
            $table->dropColumn('nickname');
        });

 

up 펑션 아래에는 down 펑션도 있는데 이것은 롤백 할 경우에 어떻게 할지 정해주는 펑션이다.

반응형

' > 라라벨' 카테고리의 다른 글

laravel 쿼리 보기  (0) 2022.09.13