Dieser Artikel bringt Ihnen relevantes Wissen über laravel, das hauptsächlich die Probleme im Zusammenhang mit Migrationsdateien vorstellt. Die Migrationsdatei ist eigentlich eine Versionskontrolle relativ zur Datenbank, die es uns ermöglicht, das Programm einfach zu definieren und zu teilen Ich hoffe, dass es für alle hilfreich sein wird.
【Verwandte Empfehlung: Laravel-Video-Tutorial】
Die Migrationsdatei ist eigentlich eine Versionskontrolle relativ zur Datenbank, die es uns ermöglicht, einige Datenstrukturen im Programm einfach zu definieren und zu teilen. Sie kann normalerweise leicht an eine Struktur unserer Datenbank angepasst werden die Anwendung. Wenn wir einem Feld in der lokalen Datenbankumgebung ein Mitglied hinzugefügt haben, können wir durch Migration Operationen an ihm ausführen.
Es gibt zwei Arten von Migrationen: Eine besteht darin, die Migration zu erstellen, und die andere darin, die Migrationsdatei zu schreiben und auszuführen. Die Zahl am Anfang des Dateinamens ist die Uhrzeit
文件名开头的数字是时间
我们点开看一下
另外两个文件也大同小异,这些都是laravel 8 框架默认定义的一些表,如果我们在这里执行迁移文件的话,如果我们不需要用到这些表(user表、密码表、jobs表),最好
去删除它,不然我们在数据库里面可能会看到这三张表的存在!!!
创建一个 书表book
id 主键
b_name 书名
b_pirce 书的价格
b_num 书数量
artisan 脚手架命令:名字我们照着默认去编写 create_表名_table
php artisan make:migration create_book_table
创建之后文件名字前面会自带时间
increments(‘id’) 创建自增 id 的方法
comment(‘注释’)添加注释
string(‘字段名’ , ‘长度’) 创建字段 类型是string
integer(‘字段名’) 创建字段 类型是int
decimal(‘字段名’ [,长度,小数点后面几位精确度]) 专门用来存放小数的类型,默认8,2
$table->charset=‘utf8mb4’; 定义字符编码
<?phpuse Illuminate\Database\Migrations\Migration;use Illuminate\Database\Schema\Blueprint;use Illuminate\Support\Facades\Schema;class CreateBookTable extends Migration{ /** * Run the migrations. * * @return void */ public function up() { Schema::create('book', function (Blueprint $table) { $table->increments('id')->comment('主键'); $table->string('b_name','32')->comment('书名'); $table->decimal('b_price')->comment('书的价格'); $table->integer('b_num')->comment('书的数量'); $table->charset='utf8mb4';//定义字符编码 }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('book'); }}
用迁移文件之前我们还需要运行一个命令,也就是记录到我们每一次创建表的参数一张表,也就是migrations的表,方便以后我们创建表的时候去看到创建有哪些表是通过迁移文件创建的,我们需要记录这样一些东西。
php artisan migrate:install
我们在创建完这个表之后我们就可以在数据表里面看到我们迁移文件运行的编号,以及执行过迁移文件的名字。
运行完这个命令,数据库多了一张表:
我们运行刚刚创建的文件名,看看是否有去记录到
php artisan migrate
我们再刷新一下,看看book表
执行单个迁移文件: --path=/database/migrations/文件名
>php artisan migrate --path=/database/migrations/2022_04_04_121049_create_book_table.php
php artisan migrate:rollback
回滚之后表就不能存在了,记录也没了,也清除了。
Die anderen beiden Dateien sind ebenfalls ähnlich. Dies sind einige Tabellen, die standardmäßig vom Laravel 8-Framework definiert werden. Wenn wir die Migrationsdatei hier ausführen Wenn nicht, müssen wir diese Tabellen verwenden (Benutzertabelle, Passworttabelle, Jobtabelle). die Datenbank! ! !
注
Klicken wir, um einen Blick darauf zu werfen
Migrationsdatei erstellen
Ein Buchtabellenbuch erstellenID-Primärschlüssel b_name Buchtitel b_pirce Preis des Buches
b_num Anzahl der Bücher 🎜🎜artisan scaffolding Befehl: Für den Namen schreiben wircreate_table_table gemäß der Standardeinstellung
🎜php artisan migrate:rollback --step=5
🎜increments('id') Erstellen Sie eine Methode zur automatischen Inkrementierung der ID🎜 comment('comment') Fügen Sie einen Kommentar hinzu🎜 string('field name', 'Länge') Erstellen Sie ein Feld. Der Typ ist string🎜 integer('field name'). Der erstellte Feldtyp ist int🎜 decimal('field name' [, length, precision after the decimal point]) Ein Typ, der speziell zum Speichern von Dezimalzahlen verwendet wird , der Standardwert ist 8,2 Die Parameter jeder Tabelle, die wir in einer Tabelle erstellen, d. h. Die Migrationstabelle ist für uns praktisch, um zu sehen, welche Tabellen durch Migrationsdateien erstellt wurden, wenn wir in Zukunft Tabellen erstellen. Wir müssen solche Dinge aufzeichnen. 🎜rrreee🎜Nachdem wir diese Tabelle erstellt haben, können wir die laufende Nummer unserer Migrationsdatei und den Namen der ausgeführten Migrationsdatei in der Datentabelle sehen. 🎜🎜🎜Nachdem dieser Befehl ausgeführt wurde, gibt es eine weitere Tabelle in der Datenbank: 🎜🎜🎜🎜Wir führen den Dateinamen aus, den wir gerade erstellt haben, um zu sehen, ob er aufgezeichnet wird🎜rrreee🎜🎜🎜Lassen Sie uns noch einmal auffrischen und einen Blick auf den Büchertisch werfen🎜🎜 Führen Sie eine einzelne Migrationsdatei aus: --path=/database/migrations/filename🎜rrreee🎜Rollback-Vorgang/Löschen Die Tabelle 🎜rrreee🎜 existiert nach dem Rollback nicht mehr und die Datensätze werden gelöscht. 🎜🎜Hinweis
: Ändern Sie den Namen der Migrationsdatei nicht einfach nach der Ausführung der Migrationsdatei, da sonst das Rollback nicht möglich ist und der Name der zuvor erstellten Migrationsdatei nicht gefunden werden kann. 🎜🎜🎜Rollback🎜angegebene Anzahl von Migrationen🎜: --step=erste paar Dateien🎜rrreee🎜[Verwandte Empfehlungen: 🎜Laravel-Video-Tutorial🎜]🎜
Das obige ist der detaillierte Inhalt vonFassen Sie die Wissenspunkte der Laravel 8-Migrationsdateien zusammen und organisieren Sie sie. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!