ホームページ > バックエンド開発 > PHPチュートリアル > Laravelの移行とは何ですか?

Laravelの移行とは何ですか?

百草
リリース: 2025-03-20 18:34:41
オリジナル
132 人が閲覧しました

Laravelの移行とは何ですか?

Laravelの移行は、データベースのバージョン制御の一種です。開発者は、SQLステートメントを手動で書くのではなく、PHPコードを使用してデータベースの構造を管理および変更できるようにします。移行は、一連の増分ステップでデータベーススキーマの変更を定義する方法を提供し、さまざまな環境やチームメンバーでデータベース構造の変更を変更および共有しやすくします。

Laravelの移動は、基本的にフレームワークによって提供される基本Migrationクラスを拡張するPHPクラスです。これらのクラスには、 up down 2つの主な方法が含まれています。 upメソッドは、新しいテーブルの作成や列の追加など、「UP」を移行するときに実行されるアクションを定義します。一方、 downメソッドは、テーブルのドロップや列の削除など、これらの変更を逆転させる方法を定義します。

移行は、Laravelのデータベーススキーマの変更を管理するのにどのように役立ちますか?

移行は、いくつかの方法でLaravelのデータベーススキーマの変更を管理するのに役立ちます。

  1. バージョン制御:移行は、データベーススキーマのバージョン制御システムとして機能します。コードの変更を追跡することにより、データベースが時間の経過とともにどのように進化したかの履歴を維持できます。
  2. コラボレーション:移行により、チームがプロジェクトでコラボレーションしやすくなります。開発者は、データベースの変更を必要とする可能性のあるさまざまな機能に取り組むことができます。これらの変更は、移行ファイルを介して簡単にマージして他の人と共有できます。
  3. 一貫性:移行を使用すると、すべての環境(開発、ステージング、生産)が同じスキーマを持つことが保証されます。これにより、さまざまな環境でスキーマの不一致が原因で発生するエラーのリスクが減少します。
  4. ロールバック:移行により、何かがうまくいかない場合はロールバックの変更を行うことができます。これは、データベースの以前の状態に簡単に戻すことができることを意味します。これは、開発とテストの段階で特に役立ちます。
  5. 自動化:展開プロセスの一部として移行を自動的に実行して、ヒューマンエラーの可能性を減らし、データベーススキーマが常に最新のものであることを確認できます。

Laravelで移行を作成して実行するプロセスは何ですか?

Laravelで移行を作成して実行するプロセスには、いくつかのステップが含まれます。

  1. 移行を作成する:新しい移行を作成するには、 make:migration Artisanコマンドを使用できます。たとえば、 usersと呼ばれる新しいテーブルを追加する移行を作成するには、次を実行します。

     <code>php artisan make:migration create_users_table</code>
    ログイン後にコピー

    このコマンドはdatabase/migrationsディレクトリに新しいPHPファイルを作成します。

  2. 移行ファイルの編集:新しく作成されたファイルを開き、 up downメソッドを編集してスキーマの変更を定義します。たとえば、 usersテーブルを作成するには、 upメソッドが次のようになる場合があります。

     <code class="php">public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }</code>
    ログイン後にコピー

    downメソッドはこれらの変更を逆にする必要があります。

     <code class="php">public function down() { Schema::dropIfExists('users'); }</code>
    ログイン後にコピー
  3. 移行を実行します。データベースに変更を適用するには、 migrate職人コマンドを使用します。

     <code>php artisan migrate</code>
    ログイン後にコピー

    このコマンドは、すべての保留中の移行のupメソッドを実行し、それに応じてデータベーススキーマを更新します。

移住はLaravelでロールバックできますか?もしそうなら、どのように?

はい、Laravelの移動はロールバックできます。この機能は、最近のスキーマの変更を取り消す必要がある場合に、開発中に特に役立ちます。最後の移行をロールバックするには、 rollback Artisanコマンドを使用できます。

 <code>php artisan migrate:rollback</code>
ログイン後にコピー

このコマンドは、最新の移行のdownメソッドを実行し、データベースに行った変更を逆転させます。

複数の移行をロールバックする必要がある場合は、 --stepオプションを使用してロールバックする移行の数を指定できます。たとえば、最後の3つの移行をロールバックするには、実行します。

 <code>php artisan migrate:rollback --step=3</code>
ログイン後にコピー

移動をロールバックすることに加えて、Laravelはmigrate:resetコマンドを提供します。これはすべての移行をロールバックします。

 <code>php artisan migrate:reset</code>
ログイン後にコピー

これにより、すべての移行が取り消され、データベースが初期状態になります。すべての移行をロールバックしてからすべての移行を再実行する場合は、 migrate:refreshを使用できます。

 <code>php artisan migrate:refresh</code>
ログイン後にコピー

これはmigrate:resetに続いてmigrateます。

以上がLaravelの移行とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート