>  기사  >  웹 프론트엔드  >  thinkphp5의 데이터베이스 마이그레이션 도구 마이그레이션에 대한 자세한 설명

thinkphp5의 데이터베이스 마이그레이션 도구 마이그레이션에 대한 자세한 설명

小云云
小云云원래의
2018-05-21 11:23:085302검색

tp5는 tp3.2와 매우 다릅니다.

마이그레이션은 그 중 하나입니다. 프로그래머는 마이그레이션을 통해 PHP 코드에서 데이터베이스 수정 롤백 및 기타 작업을 생성할 수 있습니다.

먼저 마이그레이션 확장 프로그램을 다운로드하고, 현재 프로젝트 디렉터리에서 명령줄을 실행합니다

composer require topthink/think-migration

php think 명령어를 사용하여 마이그레이션이 성공적으로 다운로드되었는지 확인할 수 있습니다

마이그레이션 사용: 마이그레이션 파일 이름 생성(첫번째 문자는 카멜 케이스), 데이터베이스 아래에 마이그레이션 파일을 생성합니다

생성이 실패하고 방법이 없다는 메시지가 표시될 수 있습니다. 일반적으로 작곡가가 얻은 tp 버전이 너무 낮습니다. Composer.json 파일을 1.* 또는 ^1.0

re-composer 업데이트로 업데이트할 수 있습니다.

애플리케이션 아래의 Database.php에서 데이터베이스를 구성할 수 있습니다

다음은 마이그레이션 파일 중 하나의 내용입니다. 생성 후 기본 메소드 변경()을 삭제하세요.

 use think\migration\Migrator;
 use think\migration\db\Column;
 
 class CreateUserTable extends Migrator
 {
   
   /**
   * 建立用户表
   */
   public function up(){
     $table = $this->table('user');
     $table->addColumn('username' , 'string' , ['limit' => 30])
        ->addColumn('passwork' , 'string' , ['limit' => 32])
        ->addColumn('email' , 'string' , ['limit' => 25])
        ->addColumn('lastlogin_ip' , 'string' , ['limit' => 15])
        ->addTimestamps('create_time' , 'lastlogin_time')
        ->addColumn('status' , 'integer' , ['limit' => 1 , 'default' => 1])
        ->setId('user_id')
        ->save();
   }
   
   /**
   * 提供回滚的删除用户表方法
   */
   public function down(){
     $this->dropTable('user');
   }
 }

위의 메소드 중 일부는 공식 문서를 보지 못했습니다. 온라인에서 읽은 내용은 Xiao Teng이 설명했습니다.

migration:run을 사용하면 모든

마지막으로 실행된 마이그레이션 파일을 migration:rollback으로 롤백할 수 있습니다.(-t 0 매개변수를 사용하면 모두 롤백)

마이그레이션 실행 상태를 통해 현재 마이그레이션 실행 상태를 확인할 수 있습니다.

실행 후 방법을 사용하면 사용자 테이블이 성공적으로 생성됩니다.

매우 편리합니다.

관련 권장 사항:

Microsoft는 MySQL에서 SQL Server로의 데이터베이스 마이그레이션 도구를 출시합니다

위 내용은 thinkphp5의 데이터베이스 마이그레이션 도구 마이그레이션에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.