Laravel5.2でのデータベース移行とデータ埋め込みの例

黄舟
リリース: 2023-03-15 21:46:01
オリジナル
1658 人が閲覧しました

1. データベース移行

Laravel のデータベース移行では、データベース、テーブル、フィールド、インデックスに対する一連の関連操作が提供されます。以下では、例としてフレンドリー リンク テーブルの作成を取り上げます。

1. マイグレーションを作成します

Artisan コマンド php 職人 make:migration create_links_table を使用します

これにより、database/migrations ディレクトリに

2017_05_06_151645_create_links_table.php という名前のファイルが生成されます。名前の前半「2017_05_06_151645_」はLaravelが追加したタイムスタンプです。 「create_links_table.php」の後半はテーブル名です。

2. ロジックを作成します

次に、移行クラス

2017_05_06_151645_create_links_table.php を開きます: up() と down() の 2 つのメソッドがあります。 up() メソッドはテーブルを作成し、down() メソッドはテーブルを削除します。


<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateLinksTable extends Migration
{
    /**
     * 执行迁移
     *
     * @return void
     */
    public function up()
    {
        Schema::create(&#39;links&#39;, function (Blueprint $table){
            $table->engine = &#39;MyISAM&#39;;
            $table->increments(&#39;id&#39;);
            $table->string(&#39;name&#39;)->default(&#39;&#39;)->comment(&#39;名称&#39;);
            $table->string(&#39;title&#39;)->default(&#39;&#39;)->comment(&#39;标题&#39;);
            $table->string(&#39;url&#39;)->default(&#39;&#39;)->comment(&#39;地址&#39;);
            $table->integer(&#39;sort&#39;)->default(50)->comment(&#39;排序&#39;);
        });
    }
    
    /**
     * 回滚迁移
     *
     * @return void
     */
    public function down()
    {
        Schema::drop(&#39;links&#39;);
    }
}

2017_05_06_151645_create_links_table.php
ログイン後にコピー

3. 移行を実行します

Artisan コマンドを使用します

phpArtisan Migrate

これで、移行を記録する hd_links テーブルとテーブル hd_migrations がデータベースに作成されました (「hd_」は構成されたテーブルのプレフィックスです)。 :

注: 移行クラスが手動で削除され、ファイルが再作成できない場合は、composer dump-autoload コマンドを使用して自動読み込みを最適化し、移行を再作成できます。

2. データ入力

は、データベース内のテーブルにデータを入力するテストに使用できます。

1. パディングを作成します

Artisan コマンド

php を使用します。 2. ロジックを作成します

次に、この LinksTableSeeder.php ファイルを開き、2 つのテスト レコードを追加します。

<?php
use Illuminate\Database\Seeder;
class LinksTableSeeder extends Seeder
{
    /**
     * 运行数据库填充
     *
     * @return void
     */
    public function run()
    {
        $data = [
            [
                &#39;name&#39; => &#39;Laravel 中文社区&#39;,
                &#39;title&#39; => &#39;Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 - Powered by PHPHub&#39;,
                &#39;url&#39; => &#39;https://laravel-china.org/&#39;,
                &#39;sort&#39; => &#39;49&#39;
            ],
            [
                &#39;name&#39; => &#39;GitHub&#39;,
                &#39;title&#39; => &#39;GitHub is where people build software. More than 21 million people use...&#39;,
                &#39;url&#39; => &#39;https://github.com&#39;,
                &#39;sort&#39; => &#39;49&#39;
            ]
        ];

        DB::table(&#39;links&#39;)->insert($data);
    }
}
ログイン後にコピー
3. 充填の呼び出し

database/seeds ディレクトリのデータベース充填クラス DatabaseSeeder.php で、run() メソッドの充填を呼び出します。


DatabaseSeeder.php ファイルの内容:

<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
    /**
     * 运行数据库填充
     *
     * @return void
     */
    public function run()
    {
        $this->call(LinksTableSeeder::class);
    }
}
ログイン後にコピー

4. 入力を実行します

Artisan コマンドを使用します

phpArtisan db:seed

これで、データベース内の hd_links テーブルには 2 つのレコードがあります:

以上がLaravel5.2でのデータベース移行とデータ埋め込みの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!