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 サイトの他の関連記事を参照してください。