laravel数据迁移

蔚落 2021-09-15 06:48 510阅读 0赞

1.如果不存在,创建migrations表

  1. php artisan migrate:install

2.创建迁移文件

  1. php artisan migrate:make create_authors_table

可以在创建迁移的时候指定 —path 选项,指定的目录应该相对于安装目录的主目录:

  1. php artisan migrate:make foo --path=app/migrations

--table 和 —create 选项可以被用来指定表名以及是否创建一个新表:

  1. php artisan migrate:make add_votes_to_user_table --table=users
  2. php artisan migrate:make create_users_table --create=users

3.修改迁移文件
例如:

  1. public function up()
  2. {
  3. Schema::create('users', function (Blueprint $table) {
  4. $table->increments('id');
  5. $table->string('name');
  6. $table->string('email');
  7. $table->string('password');
  8. $table->text('avatar');
  9. $table->timestamp('login_time');
  10. });
  11. }

4.运行所有迁移

  1. php artisan migrate

运行某个路径下的所有迁移

  1. php artisan migrate --path=app/foo/migrations

运行某个包下的所有迁移

  1. php artisan migrate --package=vendor/package

5.创建填充表数据的文件

  1. php artisan make:seed UserTableSeeder

最后修改填充文件,例如

  1. public function run()
  2. {
  3. \DB::table('user')->delete();
  4. DB::table('user')->insert([
  5. 'name' => 'iplus',
  6. 'email' => 'iplus@iplus.com',
  7. 'password' => '125800',
  8. ]);
  9. }

6.执行数据填充

  1. php artisan db:seed

单独运行某个填充器要加上—class=ArticleTableSeeder

  1. php artisan db:seed --class=ArticleTableSeeder

如果提示找不到class时,执行

  1. composer dump-autoload

7.回滚迁移
回滚最后一次迁移

  1. php artisan migrate:rollback

回滚所有迁移

  1. php artisan migrate:reset

回滚所有迁移并重新运行所有迁移

  1. php artisan migrate:refresh

回滚所有迁移并重新运行所有迁移,并填充数据

  1. php artisan migrate:refresh --seed

发表评论

表情:
评论列表 (有 0 条评论,510人围观)

还没有评论,来说两句吧...

相关阅读