• 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();
        });
    }
    再执行 php artisan migrate

     5、Seeder 给文章表填充数据

     首先创建一个Model:  php artisan make:model Article

    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 行假数据:

     
    
    
  • 相关阅读:
    alpha冲刺—Day8
    alpha冲刺—Day7
    alpha冲刺—冲刺计划&代码规范
    Linux安装jdk
    chrome插件开发-notification API注意事项
    VSCode远程连接Docker
    Idea发布项目到Docker
    开发环境配置
    Java设计模式之《单例模式》及应用场景
    使用Docker安装jenkins
  • 原文地址:https://www.cnblogs.com/greycdoer0/p/9961033.html
Copyright © 2020-2023  润新知