ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp5 mergeを使用したデータベース移行の詳細な説明

thinkphp5 mergeを使用したデータベース移行の詳細な説明

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-18 14:39:412074ブラウズ

今回は、thinkphp5 merge データベース移行の使用方法について詳しく説明します。thinkphp5 merge データベース移行を使用する際の 注意事項 は何ですか?実際のケースを見てみましょう。

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

移行はその 1 つであり、プログラマは移行を通じて

php コードでデータベースを作成できます ロールバックやその他の操作を変更できます

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

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

移行を使用:移行ファイル名を作成(大文字キャメルケース方式)して、データベースの下に移行ファイルを生成します

確立エラーにより、解決策がないことが示される可能性があります。一般に、composer によって取得された tp バージョンが低すぎるため、composer.json ファイルの移行バージョンを 1.* または ^1.0 に変更することを検討してください。

アプリケーションの下で、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 の説明でした。すべてロールバックするには、-t 0 パラメーターを使用します)

現在の移行実行ステータスは、mitigate:status で確認できます

run メソッドを実行すると、ユーザー テーブルが正常に作成されます

非常に便利です

この記事の事例を読んだ後、あなたはその方法をマスターしたと思います。もっと刺激的なことに注目してください。 php 中国語 Web サイトのその他の関連記事!

推奨読書:

Laravel は Redis を使用してセッションを共有する詳細を説明します

Laravel はパスワードのリセットを詳細に実装します

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

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