数据迁移以及填充

 

/*******************迁移填充*******************/

 

 

/**迁移**/

 

php artisan make:migration create_test_table

//创建一个迁移文件

 

public function up()

{

   Schema::create('goods',function(Blueprint $table){

       $table->increments('id');

       $table->string('name');

       $table->timestamps();

   });

}

//新增一个name字段

 

composer dump-autoload

//执行迁移

 

 

/**数据填充**/

 

php artisan make::seeder TestTableSeeder

//生成Seeder文件

 

public function run()

{

   DB::table('test')->insert([

       'name' => 'hy'

   ]);

}

//Seeder文件run方法里插入一条数据

 

 

php artisan db:seed --class=TestTableSeeder

//执行seed命令

 

 

/**模型工厂批量填充**/

 

php artisan make:model Test

//app下生成一个模型

 

class Test extends Model

{

   protected $table='test';

}

//对应test

 

$factory->define(\App\Test::class,function(\Faker\Generator $faker){

    return [

         'name' =>$faker->name

      ];

});

//database\factories中的ModelFactory.php里添加,在对应的字段填上对应的值

 

public function run()

{

   factory(Test::class)->times(10)->create();  //create()表示插入数据库中

   factory(Test::class)->times(10)->make();    //make()表示只生成对象,不插入表中

}

//TestTableSeeder.php文件中的run方法里添加,并引入Test

 

php artisan db:seed --class=TestTableSeeder

//执行seed命令

 

 

/**单次执行全部seeder**/

public function run()

{

    Model::unguard();  //取消模型的批量填充限制

    $this->call(TestTableSeeder::class);

    $this->call(TestTable1Seeder::class);

    Model::reguard();

}

//database\seeds下的DatabaseSeeder.php文件可以对多个seeder进行管理

 

php artisan db:seed

//执行seed命令

 

 

 

日记本

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容