ホームページ >ウェブフロントエンド >jsチュートリアル >thinkphp5のデータベース移行ツールの詳細説明

thinkphp5のデータベース移行ツールの詳細説明

小云云
小云云オリジナル
2018-05-21 11:23:085349ブラウズ

tp5 は tp3.2 とは大きく異なります

mitigate はその 1 つであり、プログラマは mitigration を通じて、データベース変更のロールバックやその他の操作を PHP コードで作成できます。

まず、移行拡張機能をダウンロードし、現在のプロジェクト ディレクトリでコマンド ラインを実行します

composer require topthink/think-migration

php think コマンドを使用して、移行が正常にダウンロードされたかどうかを確認できます

移行を使用: create 移行ファイル名 (最初の文字はキャメルケースです)、データベースの下に移行ファイルを生成します

作成が失敗し、方法がないことを示すプロンプトが表示される可能性があります。一般に、composer によって取得された tp バージョンが低すぎるため、移行ファイルを変更することを検討してください。 combos.json ファイルを 1.* または ^1.0

に再度 Composer を更新します。

アプリケーションの下の database.php でデータベースを設定できます

以下は、移行ファイルの 1 つの内容です (デフォルトメソッドの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');
   }
 }

上記のメソッドのいくつかは、オンラインで読んだものはXiao Tengによって説明されていました

を使用すると、すべてのメソッドが実行されます。移行アップメソッドを使用します。

最後に実行された移行ファイルは、merge:rollback を使用してロールバックできます (-t 0 パラメーターを使用すると、すべてをロールバックします)。

実行を実行した後、現在の移行実行ステータスを確認できます。メソッドを実行すると、ユーザー テーブルが正常に作成されました

とても便利です

関連する推奨事項:

Microsoft が MySQL から SQL Server データベースへの移行ツールを開始

以上がthinkphp5のデータベース移行ツールの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。