Datenbankmigration ist wie eine Datenbank 版本控制
, sodass Ihr Team sie einfach ändern kann Teilen Sie die Datenbankstruktur der Anwendung
php artisan make:migration create_users_table --create=users php artisan make:migration add_votes_to_users_table --table=users //添加字段
Die neue Migrationsdatei wird im Verzeichnis database/migrations
abgelegt. Der Name jeder Migrationsdatei enthält einen Zeitstempel , damit Laravel
die Reihenfolge der Migrationen bestätigen kann.
Mit den Optionen --table
und --create
können Sie den Namen der Datentabelle angeben oder angeben, ob beim Ausführen der Migration eine neue Datentabelle erstellt wird.
Migrationsklassen enthalten normalerweise zwei Methoden: up
und down
. Die up
-Methode kann der Datenbank eine neue Datentabelle, ein neues Feld oder einen neuen Index hinzufügen, während die down
-Methode die umgekehrte Operation der up
-Methode ist. Sie können den Datenbankstrukturgenerator Laravel
in diesen beiden Methoden verwenden, um Datentabellen zu erstellen und zu ändern.
/** * 运行数据库迁移 * * @return void */ public function up() { Schema::create('flights', function (Blueprint $table) { $table->increments('id'); $table->string('name')->comment('字段注解'); $table->string('airline')->comment('字段注解'); $table->timestamps(); }); } /** * 回滚数据库迁移 * * @return void */ public function down() { Schema::drop('flights'); }
Datentabelle, Feld , Index:https://laravel-china.org/doc...
Alle ausstehenden Migrationen ausführen:php artisan migrate
Um die letzte Migration rückgängig zu machen, können Sie den rollback
Befehl verwenden:
php artisan migrate:rollback php artisan migrate:rollback --step=5 //回滚迁移的个数 php artisan migrate:reset //回滚应用程序中的所有迁移 php artisan migrate:refresh // 命令不仅会回滚数据库的所有迁移还会接着运行 migrate 命令 php artisan migrate //恢复
php artisan make:seeder UsersTableSeeder
/** * 运行数据库填充 * * @return void */ public function run() { DB::table('users')->insert([ 'name' => str_random(10), 'email' => str_random(10).'@gmail.com', 'password' => bcrypt('secret'), ]); }
Verwenden Sie die Model Factory-Klasse, um Testdaten in Stapeln zu erstellen
php artisan make:factory PostFactory -m Post // -m 表示绑定的model
In der Klasse DatabaseSeeder
können Sie die Methode call
verwenden um andere seed
Klassen auszuführen.
/** * Run the database seeds. * * @return void */ public function run() { $this->call([ UsersTableSeeder::class, PostsTableSeeder::class, CommentsTableSeeder::class, ]); }
Standardmäßig führt der Befehl db:seed
die Klasse DatabaseSeeder
aus, die zum Aufrufen anderer Seed
-Klassen verwendet werden kann. Sie können jedoch auch die Option --class
verwenden, um eine bestimmte seeder
-Klasse anzugeben:
php artisan db:seed php artisan db:seed --class=UsersTableSeeder
Sie können auch den Befehl migrate:refresh
verwenden, um die Datenbank zu füllen, wodurch alle Migrationen zurückgesetzt und erneut ausgeführt werden. Mit diesem Befehl kann die Datenbank neu erstellt werden:
php artisan migrate:refresh --seed
Erstellen Sie ein Modell:
php artisan make:model Models/Goods php artisan make:model Models/Goods -m //同时生成对应的migration文件
php artisan make:controller UserController --resource Route::resource('user', 'UserController'); //批量一次性定义`7`个路由
>location = /favicon.ico { access_log off; log_not_found off } location = /robots.txt { access_log off;
4. Verifizierung
4.2 Verifizierung der Formularanfrage
try_files $uri $uri/ /index.php?$query_string; }
1. Suchen und Abrufen
Suchen: Gibt die angegebenen Daten über den Primärschlüssel zurückphp artisan make:request StoreBlogPost
DB::table("表名")->get(); DB::table("表名")->where(条件)->get();
创建Model类型,方法里面声明两个受保护属性:$table(表名)和$primaryKey(主键)
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model{ protected $table = 'student'; protected $primaryKey = 'id'; }
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
Das obige ist der detaillierte Inhalt vonAnalyse der grundlegenden Migrationen von Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!