La migration de base de données est comme une base de données 版本控制
, permettant à votre équipe de la modifier facilement. partager la structure de la base de données de l'application
php artisan make:migration create_users_table --create=users php artisan make:migration add_votes_to_users_table --table=users //添加字段
Le nouveau fichier de migration sera placé dans le répertoire database/migrations
. Le nom de chaque fichier de migration comprend un horodatage pour permettre à Laravel
de confirmer l'ordre des migrations.
Les options --table
et --create
peuvent être utilisées pour spécifier le nom de la table de données, ou si une nouvelle table de données sera créée lors de l'exécution de la migration.
Les classes de migration contiennent généralement deux méthodes : up
et down
. La méthode up
peut ajouter une nouvelle table de données, un champ ou un index à la base de données, tandis que la méthode down
est l'opération inverse de la méthode up
. Vous pouvez utiliser le générateur de structure de base de données Laravel
dans ces deux méthodes pour créer et modifier des tables de données.
/** * 运行数据库迁移 * * @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'); }
Tableau de données, champs , Index : https://laravel-china.org/doc...
Exécuter toutes les migrations inachevées : php artisan migrate
Pour annuler la dernière migration, vous pouvez utiliser la commande rollback
:
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'), ]); }
Utiliser la classe d'usine modèle pour créer des données de test par lots
php artisan make:factory PostFactory -m Post // -m 表示绑定的model
Dans la classe DatabaseSeeder
, vous pouvez utiliser la call
Méthode pour exécuter d'autres seed
classes.
/** * Run the database seeds. * * @return void */ public function run() { $this->call([ UsersTableSeeder::class, PostsTableSeeder::class, CommentsTableSeeder::class, ]); }
Par défaut, la commande db:seed
exécutera la classe DatabaseSeeder
, qui peut être utilisée pour appeler d'autres classes Seed
. Cependant, vous pouvez également utiliser l'option --class
pour spécifier une classe seeder
spécifique :
php artisan db:seed php artisan db:seed --class=UsersTableSeeder
Vous pouvez également utiliser la commande migrate:refresh
pour remplir la base de données, qui annulera et réexécutera toutes les migrations. . Cette commande peut être utilisée pour reconstruire la base de données :
php artisan migrate:refresh --seed
Créer un modèle :
php artisan make:model Models/Goods php artisan make:model Models/Goods -m //同时生成对应的migration文件
Créer des itinéraires par lots : (routage des ressources)
php artisan make:controller UserController --resource Route::resource('user', 'UserController'); //批量一次性定义`7`个路由
Obtenez des détails basés sur des valeurs de champ uniques, ce qui est bénéfique pour le référencement
Configuration de Laravel 5.5 Nginx :
root /example.com/public ;
emplacement / {
try_files $uri $uri/ /index.php?$query_string; }
emplacement = /favicon.ico { access_log off; log_not_found off; }
emplacement = /robots.txt { access_log off;
php artisan make:request StoreBlogPost
$result = Student::find(1001);
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中文网!
相关推荐:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!