본문 바로가기

php 헛다리/Laravel9 헛다리

라라벨9 table 관리 - 데이터베이스: 마이그레이션

728x90

 

라라벨9 table 관리 - 데이터베이스: 마이그레이션

 

DB툴에서 직접 작업해도 문제는 없다.

근데 migrations 테이블이 존재하며 파일실행 여부를 체크하는거 같다...

migrations 파일자체는 기록용??? 복사용???.. 용도를 모르겠다.

db툴을 사용안해도 된다는 개념인가?

 

https://laravel.kr/docs/9.x/migrations

 

라라벨 9.x - 마이그레이션

라라벨 한글 메뉴얼 9.x - 마이그레이션

laravel.kr

 

 


 

테이블 생성

/database/migrations/ 경로에 날짜_create_memo_table.php 파일생성

php artisan make:migration create_[테이블명]_table

예시

#>php artisan make:migration create_memo_table

예제 파일 > 날짜_create_memo_table.php

 

 // 필드 추가시 up()에 작성
    public function up()
    {
        //

        Schema::create('memo_9999_default', function (Blueprint $table) {
            $table->bigIncrements('memo_9999_pk'); // autoincrement , bigint , UNSIGNED
            $table->string('memo_9999_name',255); // varchar
//        $table->text('description'); // TEXT
            $table->mediumText('memo_9999_contents'); //  MEDIUMTEXT
//        $table->longText('memo_9999_contents'); //  logtext
            $table->bigInteger('memo_9999_regdt' )->lenght(20);  // bigint 20
//        $table->timestamp('memo_9999_regdt')->nullable();

        });

    } // end - up 

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    
    // 필드 삭제시 down()에 작성
    public function down()
    {
        //
    }

 

​create_memo_table.php 파일을 열어서 위의 예시처럼 필드값 수정후

아래 명령어를 실행하면 테이블이 생성된다.

전체 파일 실행

#> php artisan migrate

원하는 파일만 실행

#> php artisan migrate --path=database/migrations/your_migration.php

전체 파일 실행시 다른 테이블 파일도 있고 실행한적이 없다면 같이 생성된다.

 

728x90