, ,

[PHP 라라벨 5 On Mac] 9 : 마이그레이션 (컬럼 추가 및 데이타 스토리 엔진 설정)

생성된 마이그레이션에 커넥션 및 스토리 엔진을 설정하고 컬럼을 생성 하겠습니다.

 

준비사항

  • artisan CLI 를 통해 생성된 마이그레이션 파일(/myProject/database/migrations/*)

 

MySQl Query

앞장에서 마이그레이션 생성을 통해 컬럼 id만 생성되었고 여기에 추가로 다음과 같이 컬럼 및 엔진을 추가하도록 하겠습니다.

 

Tip timestamps() 메소드를 사용하면 테이블에 created_at, updated_at 컬럼을 자동으로 만들어 주게 됩니다. 이 컬럼은 데이타의 삽입/갱신시 사용되는 컬럼으로 다른 컬럼명으로 사용하려면 timestamp() 메소드에 컬럼명을 적어주면 되며 다음은 delete_at 이라는 컬럼을 생성하는 예제입니다.

 

기본 커넥션이 아닌 다른 데이타베이스 커넥션 설정

 

테이블에 스토리 엔진 속성 설정

 

컬럼 생성

이미 존재하는 테이블을 변경하기 위해서, Schema 파사드의 table 메소드를 사용할 것입니다. create 메소드와 같이 table 메소드도 두개의 인자를 전달 받습니다, 하나는 테이블의 이름이고 ,다른 하나는 테이블에 컬럼을 추가하는데 사용할 수 있는 Blueprint 인스턴스를 받아들이는 Closure입니다

다음은 사용가능한 컬럼의 타입입니다.

명령 설명
$table->bigIncrements(‘id’); UNSIGNED BIG INTEGER”에 해당하는 Incrementing ID (프라이머리 키).
$table->bigInteger(‘votes’); 데이터베이스의 BIGINT.
$table->binary(‘data’); 데이터베이스의 BLOB.
$table->boolean(‘confirmed’); 데이터베이스의 BOOLEAN.
$table->char(‘name’, 4); CHAR에 해당하며 길이(length)를 가짐.
$table->date(‘created_at’); 데이터베이스의 DATE.
$table->dateTime(‘created_at’); 데이터베이스의 DATETIME.
$table->decimal(‘amount’, 5, 2); 유효값과 소수 자릿수를 지정한 DECIMAL
$table->double(‘column’, 15, 8); 15자리, 소수점 8자릿수를 지정한 DOUBLE .
$table->enum(‘choices’, [‘foo’, ‘bar’]); 데이터베이스의 ENUM.
$table->float(‘amount’); 데이터베이스의 FLOAT.
$table->increments(‘id’); “UNSIGNED INTEGER”에 해당하는 Incrementing ID (프라이머리 키).
$table->integer(‘votes’); 데이터베이스의 INTEGER.
$table->json(‘options’); 데이터베이스의 JSON.
$table->jsonb(‘options’); 데이터베이스의 JSONB.
$table->longText(‘description’); 데이터베이스의 LONGTEXT.
$table->mediumInteger(‘numbers’); 데이터베이스의 MEDIUMINT.
$table->mediumText(‘description’); 데이터베이스의 MEDIUMTEXT.
$table->morphs(‘taggable’); taggable_id INTEGER와 taggable_type STRING 추가.
$table->nullableTimestamps(); timestamps()와 동일하지만 NULL 허용.
$table->rememberToken(); remember_token을 VARCHAR(100) NULL로 추가.
$table->smallInteger(‘votes’); 데이터베이스의 SMALLINT.
$table->softDeletes(); soft delete할 때 deleted_at 컬럼을 추가함.
$table->string(’email’); VARCHAR에 해당하는 컬럼.
$table->string(‘name’, 100); VARCHAR에 해당하며 길이(length)를 가짐.
$table->text(‘description’); 데이터베이스의 TEXT.
$table->time(‘sunrise’); 데이터베이스의 TIME.
$table->tinyInteger(‘numbers’); 데이터베이스의 TINYINT.
$table->timestamp(‘added_on’); 데이터베이스의 TIMESTAMP.
$table->timestamps(); created_at과 updated_at 컬럼을 추가함.
$table->uuid(‘id’); 데이터베이스의 UUID에 해당.

 

 

 

 

PHP 라라벨 5 On Mac 포스팅

[PHP 라라벨 5 On Mac] 1 : 다루게 될 내용들

[PHP 라라벨 5 On Mac] 2 : Composer, Valet, Framework

[PHP 라라벨 5 On Mac] 3 : Framework

[PHP 라라벨 5 On Mac] 4 : Routing

[PHP 라라벨 5 On Mac] 5 : 블레이드 템플릿 1 (View)

[PHP 라라벨 5 On Mac] 6 : 블레이드 템플릿 2 (View)

[PHP 라라벨 5 On Mac] 7 : 블레이드 템플릿 3 (View)

[PHP 라라벨 5 On Mac] 8 : 마이그레이션 (Create Table)

[PHP 라라벨 5 On Mac] 9 : 마이그레이션 (컬럼 추가 및 데이타 스토리 엔진 설정)

[PHP 라라벨 5 On Mac] 10 : 마이그레이션 (적용)

[PHP 라라벨 5 On Mac] 11 : 마이그레이션 (컬럼 수정)

[PHP 라라벨 5 On Mac] 12 : Laravel Tinker Shell

[PHP 라라벨 5 On Mac] 13 : Laravel Tinker Shell (쿼리 빌더)

[PHP 라라벨 5 On Mac] 14 : 엘로퀀트 ORM 1

[PHP 라라벨 5 On Mac] 15 : 엘로퀀트 ORM 2

[PHP 라라벨 5 On Mac] 16 : 엘로퀀트 ORM 3

[PHP 라라벨 5 On Mac] 17 : Controller I

[PHP 라라벨 5 On Mac] 18 : Controller II

4 replies

Trackbacks & Pingbacks

  1. […] [PHP 라라벨 5 On Mac] 9 : 마이그레이션 (컬럼 추가 및 데이타 스토리 엔진 설정… […]

  2. […] [PHP 라라벨 5 On Mac] 9 : 마이그레이션 (컬럼 추가 및 데이타 스토리 엔진 설정… […]

  3. […] [PHP 라라벨 5 On Mac] 9 : 마이그레이션 (컬럼 추가 및 데이타 스토리 엔진 설정… […]

  4. […] [PHP 라라벨 5 On Mac] 9 : 마이그레이션 (컬럼 추가 및 데이타 스토리 엔진 설정… […]

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *