首页 > 学院 > 开发设计 > 正文

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

2019-11-08 01:21:34
字体:
来源:转载
供稿:网友
1、使用Artisan的 make:migration 命令生成mission表的迁移文件 :php artisan make:migration create_mission_table --create=mission2、结构生成器 (Schema)         打开该文件后,有一个CreateMissionTable的类,里面有up()和down()两个方法,up方法用于生成数据表,down方法用于删除数据表。按照数据表结构,完善后该类代码如下:
<?phpuse 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 migrate4、 php artisan make:model models/mission  创建数据model5、php artisan make:seeder missionTableSeeder  所有框架生成的填充器都位于database/seeders目录:
<?phpuse 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
<?phpuse 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
上一篇:RESTful


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表