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

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

你可能感兴趣的:(Laravel)