- Gere uma tabela de dados (todas as lições são usadas como demonstração neste caso)
artesão php make: migração create_lessons_table
-
Modifique as propriedades do campo na tabela
- Adicione campos no arquivo de migração (por exemplo, banco de dados / migrações / {time} _create_lessons_table.php)
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateLessonsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('lessons', function (Blueprint $table) { $table->id(); $table->string('title'); $table->text('body'); $table->boolean('free'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('lessons'); } }
-
Executar migração de banco de dados
artesão php migrar
-
Criar dados usando um modelo de fábrica
- Criar arquivo de classe de fábrica de modelo
PHP artesão make: fábrica LessonFactory
<?php /** @var \Illuminate\Database\Eloquent\Factory $factory */ use App\Models\Lesson; use Faker\Generator as Faker; $factory->define(Lesson::class, function (Faker $faker) { return [ 'title' => $faker->title, 'body' => $faker->paragraph, 'free' => $faker->boolean() ]; });
注:在上面一定要引入对应的模型文件
-
Gerar arquivo de propagador
php artisan make: semeador LessonsTableSeeder
<?php use Illuminate\Database\Seeder; use App\Models\Lesson; class LessonsTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $lessons = factory(Lesson::class)->times(30)->make(); Lesson::insert($lessons->toArray()); } } // 执行数据填充的时候会运行run方法中的内容 // times(个数)为要填充的数据个数 // make()是生成数据 // insert()中插入的数据格式必须是数组,所以用toArray()转换为数组格式
-
Preencher dados
php artisan db: seed
php artisan db: seed --class = LessonsTableSeeder especifica a sementeira cheia
php artisan migrate: fresh --seed exclua todas as tabelas e execute novamente todas as migrações, pode ser usado para reconstruir o banco de dados