Yii フレームワークでデータベース移行 (Migration) 機能を使用する方法
はじめに:
データベース移行は、Web アプリケーションを開発および保守する際に非常に重要なツールです。データベースの移行は、データベース スキーマへの変更の管理に役立ち、テーブルの作成、変更、削除、および列の追加、削除、変更を簡単に行うことができます。この記事では、Yii フレームワークのデータベース移行 (Migration) 機能の使い方を紹介します。
1. データベース情報の構成
データベース移行を使用する前に、まずデータベース情報を構成する必要があります。 Yii フレームワークの config
ディレクトリにある db.php
ファイルを開き、独自のデータベース設定に従って次の関連コードを変更します。
return [ // ... 'components' => [ // ... 'db' => [ 'class' => 'yiidbConnection', 'dsn' => 'mysql:host=localhost;dbname=mydatabase', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ], ], ];
2.移行ファイル
Yii フレームワークでは、各データベース移行を独立した PHP クラスにすることができます。 Yii のコマンドラインツールを通じて新しい移行ファイルを作成できます。コマンドラインターミナルを開き、Yii プロジェクトのルートディレクトリに入り、次のコマンドを実行します:
./yii migrate/create create_table_user
上記のコマンドは、m210101_000000_create_table_user
という名前の移行ファイルを作成します。このファイルは、consolemigrations
ディレクトリにあります。
3. 移行コードを記述する
作成したばかりの移行ファイルを開くと、up()
と down()
という 2 つの関数が含まれていることがわかります。
use yiidbMigration; class m210101_000000_create_table_user extends Migration { public function up() { $this->createTable('user', [ 'id' => $this->primaryKey(), 'username' => $this->string()->notNull(), 'email' => $this->string()->notNull(), 'password' => $this->string()->notNull(), 'created_at' => $this->dateTime()->notNull(), 'updated_at' => $this->dateTime()->notNull(), ]); } public function down() { $this->dropTable('user'); } }
up()
関数では、createTable()
メソッドを使用して user
という名前のテーブルを作成し、そのさまざまなフィールドを定義しますそしてデータ型。
down()
関数では、dropTable()
メソッドを使用して、以前に作成した user
テーブルを削除します。
4. 移行操作を実行する
移行コードを作成した後、移行操作を実行して、データベース スキーマの変更を実際のデータベースに適用する必要があります。コマンド ライン ターミナルで次のコマンドを実行します。
./yii migrate
上記のコマンドは、未実行の移行ファイルをすべて実行し、データベース スキーマの変更を実際のデータベースに適用します。
未処理の移行をすべて実行することに加えて、次のコマンドを実行して他の特定の移行操作を実行することもできます:
./yii merge/new
: 未実行の移行ファイルをすべて表示します; ./yii merge/redo
: 最後の移行操作をやり直します; ./yii merge /down
: 最後の移行操作をロールバックします; ./yii merge/create
: 新しい移行ファイルを作成します。 概要:
この記事では、Yii フレームワークのデータベース移行機能を使用するための基本的な手順を紹介します。まずデータベース情報を構成し、次に移行ファイルを作成し、対応する移行コードを作成しました。最後に、Yii のコマンドライン ツールを使用して移行を実行しました。データベース移行機能を使用すると、データベース スキーマの変更を簡単に管理および追跡できます。これは、Web アプリケーションの開発と保守に非常に便利で実用的なツールです。
以上がYiiフレームワークでのデータベース移行(Migration)機能の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。