2014-11-26 2 views
0

아래에서 데이터베이스 마이그레이션을 만들었습니다. 내가 뭘하고 싶은 건 기본 테이블로 ID를 가진 계정 테이블을 만드는 것입니다. 그러나 키가 1에서 시작하는 자동 증가를 원하지 않습니다. 대신 자동 시작을 80000부터 시작하겠습니다.Laravel의 기본 키 기본값 설정 sqlite 마이그레이션

기본 키의 기본값을 이와 같이 설정하는 방법이 있습니까?

현재 Laravel v4.2.11 및 sqlite v3.8.3을 사용하고 있습니다.

use Illuminate\Database\Schema\Blueprint; 
use Illuminate\Database\Migrations\Migration; 

class CreateAccountsTable extends Migration { 

/** 
* Run the migrations. 
* 
* @return void 
*/ 
public function up() 
{ 
    Schema::create('accounts', function(Blueprint $table) 
    { 
     $table->increments('id')->unsigned()->default(800500); 
     $table->string('name', 100); 
     $table->timestamps(); 
    }); 
} 

/** 
* Reverse the migrations. 
* 
* @return void 
*/ 
public function down() 
{ 
    Schema::drop('accounts'); 
} 

} 

답변

1

schema builder

선언 (들) 열에 대한 디폴트 값의 default 방법

당신을 살펴 주어진 값에서 시작 증가가 필요한 경우 this 답. 당신은 이전에 쿼리를 추가 할 것 :

public function up() 
{  
    Schema::create('accounts', function(Blueprint $table) 
    { 
     $table->increments('id'); 
     $table->string('name', 100); 
     $table->timestamps(); 
    }); 
    DB::statement("UPDATE SQLITE_SEQUENCE SET seq = 800500 WHERE name = 'accounts'"); 
} 

이 작업을 수행 할 'laravel'방법은 없습니다.

+0

@edpaez, 빠른 답장을 보내 주셔서 감사합니다. 불행히도 그렇게하지 않았습니다. 설정 한대로 마이그레이션을 실행 한 후 시드 파일을 실행하면 첫 번째 레코드의 ID가 1로 반환됩니다. 필자는 초기 값이 아닌 기본값이 기본값임을 더 잘 알고 있어야합니다. 오. –