라라벨에서 테이블 생성을 하려면 우선 migration 파일을 기반으로 해당이름에 맞게 테이블이 만들어짐으로 인해
먼저 migration 파일을 생성해줘야한다.
테이블 생성전에 migration 파일 먼저 생성
php artisan make:migration create_tests_table
database - migrations 폴더에 방금 마이그레이션한 파일이 생성
php artisan make:migrate
실행시 migrations 파일들이 테이블로 생성됨
컬럼추가시
php artisan make:migration add_column_to_tests_table --table=tests
public function up 부분에 추가할 컬럼들을 넣어준다.
마이그레이션 파일 수정후에 다시 php artisan migrate 실행하고 나면 아래처럼 tests 테이블에 추가한 컬럼들이 이상없이 추가된것을 확인 할 수 있다.
컬럼 수정시
composer require doctrine/dbal
우선 터미널에서 composer 를 이용해서 다운을 받아야하는데 혹시라도 에러가 발생한다면 아래처럼 친절하게 어디가 문제인지 알려주니까 해당 환경에 맞게 php.ini 파일을 수정해주면되겠다.
나는 window 개발환경이라 php.ini 메모장으로 열어서 해당 부분 ; 제거해주고 다시 composer 문 실행하니 정상적으로 실행되었다. mbstring , fileinfo 이거 두개 주석 해제해줬다.
아래처럼 정상적으로 설치가 완료되었음.
테이블이 수정될때마다 migrations 파일명으로 정확히 명시를 해두며 기록을 남기는게 좋은듯하다.
php artisan make:migration modify_column_to_tests_table --table=tests
########################################################################
Schema::table('tests', function (Blueprint $table) {
$table->renameColumn('address', 'aaaaaaa');
});
생성 후에 address 라는 column 을 aaaaaa 로 바꿔봤다.
수정 후에 다시 migrate 실행하고나면
정상적으로 바뀌는것을 확인할 수 있다.
컬럼 삭제시
마지막으로 컬럼 삭제, 진행방식은 모두 동일
migration 파일 생성 -> up() 안에 알아서 맞게 수정 -> migrate 실행
php artisan make:migration drop_column_to_tests_table --table=tests
########################################################################
Schema::table('tests', function (Blueprint $table) {
$table->dropColumn(['aaaaaaa', 'username', 'count']);
});
'IT > PHP' 카테고리의 다른 글
[Linux] crontab php 파일 실행시켜서 로그 찍기 (0) | 2021.12.25 |
---|---|
[Laravel] 단순 API 샘플 (curl, post, get) (0) | 2021.09.16 |
[laravel] laralvelsail 라라벨세일 간단메모 (0) | 2021.07.21 |
[PHP + JS] TreeView 트리뷰 , 트리구조 구현 (8) | 2021.06.02 |
[PHP] 이미지 사이즈 변경 및 용량 줄이기 (0) | 2021.05.10 |