thinkpphp 5 migrate 데이터베이스 이전 도구

2446 단어 tp5migrate
tp5 는 상대 적 으로 tp 3.2 와 크게 다르다.
migrate 는 그 중의 하나 입 니 다.migrate 프로그래머 를 통 해 phop 코드 에서 데이터 베 이 스 를 만 들 고 스크롤 백 을 수정 할 수 있 습 니 다.
먼저 migrate 확장 을 다운로드 하고 명령 행 을 현재 프로젝트 디 렉 터 리 에서 실행 합 니 다.

composer require topthink/think-migration
php think 명령 을 사용 하면 migrate 가 다운로드 에 성 공 했 는 지 확인 할 수 있 습 니 다

migrate:create migrate 파일 이름(이니셜 대문자 낙타 봉 법)을 사용 하여 database 에서 migrate 파일 을 생 성 합 니 다.
실패 알림 을 만 들 수 있 습 니 다.일반적으로 coposer 가 가 져 온 tp 버 전이 너무 낮 습 니 다.coposer.json 파일 의 migrate 버 전 을 1.*또는^1.0 으로 수정 하 는 것 을 고려 합 니 다.
다시 composer update 하면 됩 니 다.

application 아래 database.php 에 데이터 베 이 스 를 설정 합 니 다.
다음은 migrate 파일 의 내용 입 니 다.(생 성 후 기본 적 인 방법 change()가 있 습 니 다.삭제 합 니 다)

 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');
   }
 }
이상 의 몇 가지 방법,공식 적 으로 준 문 서 를 나 는 어디 에 있 는 지 보지 못 했다.인터넷 에서 내 가 본 것 은 샤 오 텅 이 설명 한 것 이다.
migrate:run 을 사용 하면 모든 migrate up 방법 을 실행 합 니 다.
migrate:rollback 을 통 해 실 행 된 migrate 파일 을 되 돌 릴 수 있 습 니 다(띠-t 0 매개 변수 스크롤 백 모두)
migrate:status 를 통 해 현재 migrate 가 실행 중인 상황 을 볼 수 있 습 니 다.
run 방법 을 실행 한 후 user 표 가 성공 적 으로 만 들 어 졌 습 니 다.

매우 편리 하 다

좋은 웹페이지 즐겨찾기