Web アプリケーションの急速な発展に伴い、アプリケーションの一部としてデータベースの重要性も高まっています。 Web 開発者にとって、データベース データのセキュリティ、信頼性、安定性は非常に重要です。データテーブルの設計と管理も開発作業の重要な部分であるため、データ移行はデータベース運用の重要な方法の 1 つとなっています。
Phinx は、開発者がデータベースの移行とアプリケーションの管理を実行するのに役立つ PHP ライブラリです。人気の PHP フレームワークとして、ThinkPHP6 は開発作業を簡素化できる Phinx の使用方法も提供します。
この記事では、ThinkPHP6 フレームワークでのデータベース移行に Phinx を使用する方法を紹介します。
最初に Composer を使用して Phinx をプロジェクト ディレクトリにインストールします:
composer require robmorgan/phinx
ThinkPHP6 では、Phinx 設定は config/phinx.php ファイルにあります。デフォルトの設定ファイルは、コマンド ライン ツールを使用して生成できます。
vendor/bin/phinx init
実行後、phinx.php ファイルが config ディレクトリに生成されます。データベースの接続情報やディレクトリ構造などを設定する必要があります。
たとえば、データベース接続情報を構成します。
return [ 'paths' => [ 'migrations' => '%%PHINX_CONFIG_DIR%%/db/migrations', 'seeds' => '%%PHINX_CONFIG_DIR%%/db/seeds' ], 'environments' => [ 'default_database' => 'development', 'development' => [ 'adapter' => 'mysql', 'host' => '127.0.0.1', 'name' => 'thinkphp6', 'user' => 'root', 'pass' => '123456', 'charset' => 'utf8', ] ] ];
ThinkPHP6 では、Phinx データベース移行は、database/migrations ディレクトリに保存されます。 。次のコマンドを使用して、新しい移行を作成できます:
vendor/bin/phinx create MyNewMigration
このコマンドを実行すると、新しい移行ファイルがdatabase/migrations ディレクトリに作成されます。
Phinx では、移行は移行とロールバックの 2 つのタイプに分類されます。移行にはデータベースへの変更が含まれ、ロールバックは移行とは逆のことを実行します。
たとえば、users テーブルを作成する必要があります。
use PhinxMigrationAbstractMigration; class CreateUsersTable extends AbstractMigration { /** * Change Method. * * More information on this method is available here: * http://docs.phinx.org/en/latest/migrations.html#the-change-method */ public function change() { $table = $this->table('users'); $table->addColumn('username', 'string', ['limit' => 50]) ->addColumn('email', 'string', ['limit' => 100]) ->addColumn('password', 'string', ['limit' => 255]) ->addColumn('created_at', 'datetime') ->addColumn('updated_at', 'datetime') ->create(); } }
change() メソッドでは、$table 変数を使用してテーブル構造を構築し、addColumn() メソッドを使用してさまざまな列のデータ型と制限を指定します。最後に、create() メソッドを呼び出して、データベースにテーブル構造を作成します。
次のコマンドを使用して移行を実行できます:
vendor/bin/phinx migrate
Phinx は移行の順序で変更を実行します。創造された。すべての移行が正常に実行されると、Phinx は移行履歴を記録するためにデータベースに phinxlog という名前のテーブルを作成します。
注: 移行を実行するとデータベースが変更されます。データの損失や回復不能を防ぐために、必ずデータをバックアップしてください。
エラーが発生した場合、または変更をロールバックする必要がある場合は、次のコマンドを使用して最後の移行をロールバックできます:
vendor/bin/phinx rollback
Phinx は、最後に正常に実行された移行をロールバックします (存在する場合)。 Phinx は、移行をロールバックした後、phinxlog テーブルに情報を書き込みます。
上記は、ThinkPHP6 でデータベース移行に Phinx を使用するプロセスです。 Phinx を使用すると、手書き SQL の複雑さとリスクが軽減され、データベース移行プロセスがより簡単かつ制御しやすくなります。
移行プロセス中に、データ入力、データ検証、複数データベースのサポートなどの Phinx の高度な機能を使用できます。これらの機能により、アプリケーションの保守性とパフォーマンスが大幅に向上します。
実際の開発では、データ構造の一貫性と信頼性を確保するために、チーム開発の一環としてデータベースの移行と管理を行うことをお勧めします。
以上がThinkPHP6 でデータベース移行に Phinx を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。