新建表migration

    php artisan make:migration create_order_pinks_table --create=order_pinks
    <?php    
    use Illuminate\Support\Facades\Schema;
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Database\Migrations\Migration;
    class CreateOrderPinksTable extends Migration
    {
        /**
         * Run the migrations.
         *
         * @return void
         */
        public function up()
        {
            Schema::create('order_pinks', function (Blueprint $table) {
                $table->bigIncrements('id');
                $table->string('order_id');
                $table->string('name_cn');
                $table->timestamps();
            });
        }
        /**
         * Reverse the migrations.
         *
         * @return void
         */
        public function down()
        {
            Schema::dropIfExists('c_order_pinks');
        }
    }

查看migration 状态

    php artisan migrate:status

执行migration

    php artisan migrate

撤销上一次执行的migrate 回滚

    php artisan migrate:rollback

撤销回滚最近五次的migrate迁移

    php artisan migrate:rollback --step=5

回滚所有迁移并重新构建整个数据库

    php artisan migrate:refresh

撤销回滚程序中所有迁移

    php artisan migrate:reset

回滚并重新执行最后五次迁移

    php artisan migrate:refresh --step=5

删除数据库中所有表,并执行migrate

    php artisan migrate:fresh 
    php artisan migrate:fresh --seed

seeder 填充数据

创建seeder,编写填充数据

    php artisan make:seeder OrderPinkTableSeeder

    <?php    
    use Illuminate\Database\Seeder;
    use App\Models\Prod\OrderPink;
    use Illuminate\Support\Facades\DB;
    class OrderPinkTableSeeder extends Seeder
    {
        /**
         * Run the database seeds.
         *
         * @return void
         */
        public function run()
        {
            //
            DB::statement('SET FOREIGN_KEY_CHECKS = 0');
            DB::statement('SET FOREIGN_KEY_CHECKS = 1');
            OrderPink::truncate();
            $datas = [
                ['order_id'=>1, 'name_cn'=>'乙醇'],
                ['order_id'=>2, 'name_cn'=>'甲烷'],
            ];
            OrderPink::insert($datas);
        }
    }

执行填充数据

    php artisan db:seed --class=OrderPinkTableSeeder

删除migration

一、如果只新建了migration,发现名称输错了,还没有执行php artisan migrate,可以执行以下命令

  1. 删除migration目录下的migration文件

  2. 重置composer文件加载项: composer dump-autoload

  3. 重新创建新的migrations文件了

二、如果新建了migration,同时也执行了php artisan migrate,可以执行以下命令

    1.php artisan migrate:rollback 运行这个命令正确的回滚上一次进行的所有migrate操作

    2.如果运行命令 migrate:rollback 失败了,那么,请按照如下方式操作

                2.1 删除migrations目录下错误的migrations文件,比如删除 app/database/migrations/my_migration_file_name.php

                2.2 重置composer文件加载项: composer dump-autoload

                2.3 删除数据库里的表,重新生成migrations文件进行操作