Laravel的Migration 和 Seeder 使用

 1、安装Laravel 

composer create-project laravel/laravel learnlaravel5 ^5.5

 

    2、Auth

php artisan make:auth

 3、连接数据库

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel5
DB_USERNAME=root
DB_PASSWORD=password

   3.1 数据库迁移

php artisan migrate
这时,就可以进行登录了。

  4、Migration  创建一个文章表

php artisan make:migration create_articles_table

成功之后打开 learnlaravel5/database/migrations,你会发现有一个名为 2*****_create_articles_table 的文件被创建了。我们修改他的 up 函数为:

public function up()
{
 Schema::create('articles', function (Blueprint $table)  {  $table->increments('id');  $table->string('title');  $table->text('body')->nullable();  $table->integer('user_id');  $table->timestamps();  }); }

我们首先用Auth创建个ass

 5、Seeder 给文章表填充数据

A. php artisan make:seeder ArticleSeeder

   我们会发现 learnlaravel5/database/seeds 里多了一个文件 ArticleSeeder.php,修改此文件中的 run 函数为:

public function run()
{
 DB::table('articles')->delete();   for ($i=0; $i < 10; $i++) {  \App\Article::create([  'title' => 'Title '.$i,  'body' => 'Body '.$i,  'user_id' => 1,  ]);  } }

    B. 注册ArticleSeeder 到系统内。修改 learnlaravel5/database/seeds/DatabaseSeeder.php 中的 run 函数为:

public function run()
{
 $this->call(ArticleSeeder::class); }

   C. 由于 database 目录没有像 app 目录那样被 composer 注册为 psr-4 自动加载,采用的是 psr-0 classmap 方式,所以我们还需要运行以下命令把 ArticleSeeder.php 加入自动加载系统,避免找不到类的错误:

composer dump-autoload    作用:当你加入一个新类时,可以用它更新 autoloader

 D. 执行 seed:

php artisan db:seed

   你应该得到如下结果:

» php artisan db:seed Seeding: ArticleSeeder

   这时候刷新一下数据库中的 articles 表,会发现已经被插入了 10 行假数据:

 

猜你喜欢

转载自www.cnblogs.com/greycdoer0/p/9961033.html
今日推荐