2017-01-14 1 views
0

간단한 구조 (ID, 이름 및 타임 스탬프)의 테이블이 있습니다.OctoberCMS 마이그레이션을 사용하여 기존 전체 테이블에 새 NOT NULL 열을 추가하는 방법

슬러그를 추가해야하지만 시스템이 이미 실행 중이고 유니크가 아니고 NULL이 아니기 때문에 데이터베이스에 슬러그가 필요합니다 (따라서 기본값을 사용하지 마십시오).

이 항목을 추가하고 마이 그 레이션 파일에 slug(name)과 (과) 유사한 항목을 채우기 위해 마이 그 레이션 파일을 어떻게 추가합니까? 마이그레이션에

public function up() { 
    Schema::table('departments', function(Blueprint $table) { 
     $table->string('slug'); 
    }); 
} 

답변

0

당신이 수행하여 열에 대한 기본 값을 지정할 수 있습니다

// ... 
$table->string('slug')->default('my-default-slug'); 
// ... 

을이 효과적으로 이미 실행시 departments 내부에 존재하는 모든 레코드에 대한 값으로 my-default-slug을 설정됩니다 이주. 그러나, 내가 아는 한,이 설정은 슬러그가 나중에 빈 문자열로 설정되는 레코드에 대한 수정을 막지 않습니다. 그게 문자열로 된 모든 것입니다. 빈 문자열은 여전히 ​​데이터베이스에 유효한 문자열입니다.

열 수정 자에 대한 자세한 내용은 Laravel docs을 참조하십시오.

아래 코멘트에 응답 EDIT

는 웅변 모델의 다른 속성에 기초하여 자동 생성 슬러그 가능한 fine package있다.

+0

이름 컬럼을 기반으로 동적 생성 슬러그를 추가하고 싶습니다. 나는 슬러그 칼럼이 유일 할 것으로 예상된다고 말해야했다. –

관련 문제