Laravel Migrate 中的 Fresh 和 Refresh 中的区别

laravle 中的 对数据库的迁移操作命令是  php artisan migrate, 对于重新初始化数据库有两个操作。 php artisan migrate:refresh 和  php artisan migrate:fresh 。两者虽然都可以对数据库进行刷新操作,区别还是很大的。

首先建议使用 php artisan migrate:refresh . 这个操作的特点是可以相对安全点,速度慢点。 php artisan migrate:fresh 操作比较暴力一点,直接删除所有的表。然后执行迁移文件。


# Author: www.phpjiaocheng.com
php artisan migrate:fresh
Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (0.07 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (0.18 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (0.06 seconds)

可以看到一行Dropped all tables successfully.删除了所有的数据表。里面的数据当然页一块删除了。


# Author: www.phpjiaocheng.com
php artisan migrate:refresh
Rolling back: 2019_08_19_000000_create_failed_jobs_table
Rolled back:  2019_08_19_000000_create_failed_jobs_table (0.03 seconds)
Rolling back: 2014_10_12_100000_create_password_resets_table
Rolled back:  2014_10_12_100000_create_password_resets_table (0.01 seconds)
Rolling back: 2014_10_12_000000_create_users_table
Rolled back:  2014_10_12_000000_create_users_table (0.02 seconds)
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (0.05 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (0.04 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (0.05 seconds)

可以看到php artisan migrate:refresh

是按照迁移文件的顺序行回滚操作,然后重新执行迁移文件。

 

 

留言

您的电子邮箱地址不会被公开。