laraver migrate 生成数据库迁移、填充及字段修改

1、使用Artisan的 make:migration 命令生成 mission 表的迁移文件 : php artisan make:migration create_mission_table --create=mission
2、 结构生成器 (Schema)          打开该文件后,有一个 CreateMissionTable 的类,里面有up()和down()两个方法,up方法用于生成数据表,down方法用于删除数据表。按照数据表结构,完善后该类代码如下:
<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateMissionTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('mission', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('type_id')->unsigned();  //  等同于数据库中的 int 类型  并设置 int 列为 UNSIGNED
            $table->string('mission_title',100);  //  等同于数据库中的 VARCHAR,带一个长度
            $table->text('description');  //  等同于数据库中的 TEXT 类型
            $table->string('Technology_labels',100)->nullable(); // 允许该列的值为NULL
            $table->decimal('budget_amount', 10, 2); // 等同于数据库中的DECIMAL类型,带一个精度和范围
            $table->integer('deadline')->unsigned();
            $table->integer('end_time')->unsigned();
            $table->integer('maintain_time')->unsigned();
            $table->string('contacts',100);
            $table->string('phone',11);
            $table->string('email',50)->nullable();
            $table->string('service_address',100)->nullable();
            $table->text('remarks')->nullable();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('mission');
    }
}
3、执行迁移      在控制台执行以下命令,即可执行迁移文件,生成或更新相应的表。
php artisan migrate
4、  php artisan make:model models\mission  创建数据model

5、 php artisan make:seeder missionTableSeeder   所有框架生成的填充器都位于database/seeders目录:
<?php

use Illuminate\Database\Seeder;

class missionTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('mission')->insert([
           'type_id'=>'1',
           'mission_title'=>str_random(16),
           'description'=>str_random(20),
           'Technology_labels'=>'1,2,3',
           'budget_amount'=>1000,
           'deadline'=>1475050602,
           'end_time'=>1475050602,
           'maintain_time'=>1475050602,
            'contacts' => str_random(10),
            'phone' => str_random(11),
            'email' => str_random(10).'@gmail.com',
            'remarks' => str_random(10),
            'service_address' => str_random(10),
        ]);
    }
}
6、 php artisan db:seed --class=missionTableSeeder

也可以通过tinker填充


7、添加和修改表的字段
php artisan make:migration add_fields_to_mission_table --table=mission
<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class AddFieldsToMissionTable extends Migration
{
    /**

  
  
* Run the migrations.
* * @return void */ public function up() { Schema::table('mission', function (Blueprint $table) { // $table->tinyInteger('state')->default(1); $table->tinyInteger('Pnum_limit')->default(1); $table->tinyInteger('Pnum')->nullable(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::table('mission', function (Blueprint $table) { // }); } }

修改表字段  $table->string('email',60)->nullable()->change();      转换为可空
php artisan migrate
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值