你好,请阅读此处的所有文档:https://laravel.com/docs/5.4/migrations。
是否有一种方法可以迁移一个特定的迁移文件(仅限1个迁移),因为现在每当有更改时,我都使用php artisan migrate:refresh
,导致所有字段都被重置。
你好,请阅读此处的所有文档:https://laravel.com/docs/5.4/migrations。
是否有一种方法可以迁移一个特定的迁移文件(仅限1个迁移),因为现在每当有更改时,我都使用php artisan migrate:refresh
,导致所有字段都被重置。
首先,您应该创建一个 migration
文件来创建您的表,例如:
public function up()
{
Schema::create('test', function (Blueprint $table) {
$table->increments('id');
$table->string('fname',255);
$table->string('lname',255);
$table->rememberToken();
$table->timestamps();
});
}
php artisan migrate --path=/database/migrations/test/
您应该将迁移文件的路径添加到刷新此表并运行的操作中。
php artisan migrate:refresh --path=/database/migrations/fileName.php
只需查看数据库中的 migrations
表,其中将列出迁移文件名和批次编号。
假设您有以下结构:
id migration batch
1 2014_10_12_000000_create_users_table 1
2 2014_10_12_100000_create_password_resets_table 1
3 2016_09_07_103432_create_tabel_roles 1
如果您只想回滚 2016_09_07_103432_create_tabel_roles
迁移,将其迁移批处理值更改为最高的 2,然后执行以下操作即可。php artisan migrate:rollback
只有批次值为2的表将被回滚。现在,对该表进行更改并运行以下控制台命令。
php artisan migrate
migrations
表中的批处理值定义了迁移的顺序。当你回滚时,最新的或具有最高批处理值的迁移会首先被回滚,然后是其他迁移。因此,您可以在数据库中更改值,然后回滚特定的迁移文件。
尽管每次更改批处理号码都不是一个好主意,因为表结构之间存在关系,但我们可以在某些情况下使用此方法,其中单个表回滚不会违反表之间的完整性。
希望你理解。
如果你使用制表符来自动完成
php artisan migrate --path='./database/migrations/2019_12_31_115457_create_coworking_personal_memberships_table.php'
php artisan migrate --path=database/migrations/2020_04_10_130703_create_test_table.php
注意:
在--path
后面不要加/
php artisan migrate
运行良好,并且迁移了相同的文件。 - undefined您可以像这样运行命令
php artisan migrate --path=/database/migrations/2020_04_10_130703_create_test_table.php
php artisan migrate:refresh --path="database/migrations/Your_Migration_File_Name_table.php"
这里的 --path=
是指您的文件路径,migrate:refresh
将清空您的表数据
php artisan migrate:refresh
你只能在终端中运行此命令
php artisan migrate --path=database/migrations/2020_10_01_164611_create_asset_info_table.php
迁移后,您应该放置特定的文件名。或者,如果您在迁移中有任何文件夹,则只需在迁移后添加该文件夹名称。
就像这样
php artisan migrate --path=database/migrations/yourfolder/2020_10_01_164611_create_asset_info_table.php
php artisan migrate --path=/database/migrations/selected
如果需要回滚:
php artisan migrate:rollback --path=/database/migrations/selected
注意:
php artisan migrate:refresh
这将回滚并迁移位于默认目录(/database/migrations)中的所有迁移文件。
php artisan help migrate
另外,您可能可以指定要迁移的文件所在的根文件夹:--path[=PATH] 要执行的迁移文件的路径
php artisan migrate --path=/database/migrations/sample.php
php artisan migrate --path=/database/migrations/new_folder
php artisan migrate:refresh --path=/database/migrations/fileName.php
略有变化的答案。 - General Grievanceartisan migrate:refresh
,它旨在清除数据库并重新开始。 它不是像artisan migrate
一样的正常应用程序维护的一部分。 - miken32