아무거나

마이그레이션 본문

PHP/Laravel

마이그레이션

전봉근 2019. 4. 3. 14:56
반응형

[마이그레이션]

1. 마이그레이션 생성(default:user관련)

php artisan migrate 명령실행시에

table 에 migrations, password_resets, users 가 생성되면 제대로 된거다.

* 만약 Syntax error or access violation: 1071 Specified key was too long 라는 에러가 뜬다면 설정 문제이므로

  - app/providers/AppServiceProvider.php

    [추가]

use Illuminate\Support\Facades\Schema;

 

public function boot()

{

    Schema::defaultStringLength(191);

}

 

2. 마이그레이션 기능을 이용한 테이블 생성

   장점 : DB스키마를 쉽게공유, 마이그레이션 이력이 남는다

   - php artisan make:migration {tablename}  // database/migrations 폴더에 {tablename}이름의 테이블이 생성됨

   - config/database/migrations에 위에 {tablename}이 생성된다.

   - schema builder(DB종류에 상관없이 DB를 조작할 수 있게 해준다.)를 이용한다.

     위에 생성된 migrations파일에 up 메소드에 아래 내용과 같은 소스를 입력(up:테이블생성, down:롤백)

     [소스]

        // 마이그레이션을 실행할때 해당 테이블을 생성해줌

        Schema::create('lecture', function ($table) {

            $table->increments('no');

    $table->timestamps(); // created_at, updateed_at 컬럼을 생성해준다.

        });

   - 테이블삭제는 

     Schema::drop('lecture'); // 테이블 삭제

     Schema::drop('lecture'); // 테이블 유무 확인 후 삭제한다.

   - php artisan migrate 명령어를 이용하여 테이블을 생성하자.

 

3. DB 마이그레이션 롤백

   - php artisan migrate:rollback  // 롤백을 하면 테이블과 마이그레이션 로그가 삭제된다.

 

4. 컬럼 삭제

   if(Schema::hasColumn('lecture', 'title'))

   {

        Schema::table('lecture', function($table)

       {

           $table->dropCloumn('title');

       });

   }

 

반응형

'PHP > Laravel' 카테고리의 다른 글

validator(유효성검증)  (0) 2019.04.04
옐로퀀트ORM 활용  (0) 2019.04.04
뷰 생성(blade) 및 데이터 표시(템플릿 엔진 활용방법)  (0) 2019.04.04
XSS 적용 방법  (0) 2019.04.03
laravel 설치 php7.1+homestead  (0) 2019.03.28
Comments