Beispiele für Datenbankmigration und Datenfüllung in Laravel5.2

黄舟
Freigeben: 2023-03-15 21:46:01
Original
1658 Leute haben es durchsucht

1. Datenbankmigration

Die Datenbankmigration von Laravel bietet eine Reihe verwandter Vorgänge für Datenbanken, Tabellen, Felder und Indizes. Im Folgenden wird als Beispiel die Erstellung einer benutzerfreundlichen Linktabelle verwendet.

1. Erstellen Sie eine Migration

Verwenden Sie den Artisan-Befehl php artisan make:migration create_links_table

Dadurch wird eine Datei mit dem Namen 2017_05_06_151645_create_links_table.php Datei. Die erste Hälfte des Namens „2017_05_06_151645_“ ist der von Laravel hinzugefügte Zeitstempel. Die zweite Hälfte von „create_links_table.php“ ist der Tabellenname.

2. Schreiben Sie die Logik

Öffnen Sie dann die Migrationsklasse

2017_05_06_151645_create_links_table.php, die über zwei Methoden verfügt: up() und down(). Die Methode up() erstellt eine Tabelle und die Methode down() löscht die Tabelle.


<?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
Nach dem Login kopieren
3. Führen Sie die Migration aus

Verwenden Sie den Artisan-Befehl

php artisan migrate

Jetzt im Datenbank Eine hd_links-Tabelle und eine Tabelle hd_migrations, die Migrationen aufzeichnen, wurden erstellt („hd_“ ist das konfigurierte Tabellenpräfix):

Hinweis: Bei manuellem Löschen Migrationsklassen und Dateien können nicht neu erstellt werden. Verwenden Sie den Composer-Befehl dump-autoload, um das automatische Laden zu optimieren, und die Migration kann neu erstellt werden.

2. Datenfüllung

kann zum Testen verwendet werden, um einige Daten für die Tabelle in der Datenbank einzugeben.

1. Erstellen Sie die Füllung

Verwenden Sie den Artisan-Befehl

php artisan make:seeder LinksTableSeeder

Dadurch wird eine Datei mit dem Namen < in der Datenbank generiert. Samenverzeichnis 🎜>LinksTableSeeder.php

s freundliche Linkfüllklasse. 2. Schreiben Sie die Logik

Öffnen Sie dann diese Datei

LinksTableSeeder

und fügen Sie zwei Testdatensätze hinzu.


3. Rufen Sie die Füllung
<?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);
    }
}
Nach dem Login kopieren

in der Datenbankfüllklasse DatabaseSeeder.php im Verzeichnis „database/seeds“ innerhalb der run()-Methode auf Anrufauffüllung.

Inhalt der DatabaseSeeder.php-Datei:


4. Füllen Sie
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
    /**
     * 运行数据库填充
     *
     * @return void
     */
    public function run()
    {
        $this->call(LinksTableSeeder::class);
    }
}
Nach dem Login kopieren

mit dem Artisan-Befehl

php artisan db aus: Seed

Jetzt hat die hd_links-Tabelle in der Datenbank 2 Datensätze:

Das obige ist der detaillierte Inhalt vonBeispiele für Datenbankmigration und Datenfüllung in Laravel5.2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!