一.数据库迁徙migration
1.输出以下命令,建设migration文件
php artisan make:migration create_admin_user_table --create=admin_user
这时会在migrations下生成带有日期的migration php文件,代码如下,这只是例子,能够依据具体情况批改
<?php
use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;
class CreateAdminUserTable extends Migration
{
/**
* Run the migrations. * * @return void
*/ public function up()
{ Schema::create('admin_user', function (Blueprint $table) {
$table->id();
$table->string('username');
$table->string('password');
$table->string('email');
$table->timestamps();
});
}
/**
* Reverse the migrations. * * @return void
*/ public function down()
{ Schema::dropIfExists('admin_user');
}
}
2.输出以下命令,进行数据库迁徙
docker exec dracohub_myapp_1 php artisan migrate
查看表构造如图,迁徙胜利
二.seed factory 工厂批量生产测试数据、
1.输出以下命令,创立seeder
php artisan make:seeder AdminUserTableSeeder
AdminUserTableSeeder.php
<?php
use AppModelsadminUser;
use IlluminateDatabaseSeeder;
class AdminUserTableSeeder extends Seeder
{
/**
* Run the database seeds. * * @return void
*/ public function run()
{ factory(adminUser::class,50)->create();
}
}
2.输出以下命令,创立factory
php artisan make:factory adminUserFactory --model=adminUser
adminUserFactory.php
<?php
/** @var IlluminateDatabaseEloquentFactory $factory */
use FakerGenerator as Faker;
$factory->define(AppModelsadminUser::class, function (Faker $faker) {
return [
'username' => $faker->userName,
'password' => $faker->password,
'email' => $faker->email,
'created_at' => $faker->dateTime('-1 years'),
'updated_at' => $faker->dateTimeThisMonth,
];
});
3.执行以下命令,插入测试数据
docker exec dracohub_myapp_1 php artisan db:seed --class=AdminUserTableSe
eder
如图,插入测试数据胜利
发表回复