嗨,您可以在https://laravel.com/docs/5.4/migrations中阅读所有包含的文档。
有没有一种方法来迁移特定的迁移文件(仅1个迁移),导致在我每次使用更改php artisan migrate:refresh
并且所有字段都被重置时立即导致。
嗨,您可以在https://laravel.com/docs/5.4/migrations中阅读所有包含的文档。
有没有一种方法来迁移特定的迁移文件(仅1个迁移),导致在我每次使用更改php artisan migrate:refresh
并且所有字段都被重置时立即导致。
Answers:
首先,您应该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();
});
}
在迁移文件夹中创建测试文件夹之后,然后将新创建的迁移移动/复制到测试文件夹中,并在终端/ cmd中运行以下命令,如下所示:
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'
您需要将文件放入新目录(例如:selected),然后应用
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:rollback
https://laravel.com/docs/5.4/migrations#rolling-back-migrations
您可以使用“ step”选项指定要回滚的迁移数量:
php artisan migrate:rollback --step=1
这里有一些技巧:
如果要创建一个特定表。您可以使用此代码。它适用于laravel(5.x)版本。
php artisan migrate:refresh --path=/database/migrations/fileName.php
如果要创建另一个表,只需创建一个新的迁移文件。会的。
如果您创建一个名为迁移users_table
与id, first_name, last_name
。您可以创建一个迁移文件,例如
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('first_name',255);
$table->string('last_name',255);
$table->rememberToken();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('users');
}
如果要添加另一个文件,如“状态”,而不进行迁移:刷新。您可以创建另一个迁移文件,例如“ add_status_filed_to_users_table”
public function up()
{
Schema::table('users', function($table) {
$table->integer('status');
});
}
并且不要忘记添加回滚选项:
public function down()
{
Schema::table('users', function($table) {
$table->dropColumn('status');
});
}
当您使用运行迁移时php artitsan migration
,它只会迁移新的迁移文件。
但是,如果您将归档的“状态”添加到第一个mgration文件(users_table)中并运行迁移。没什么要迁移的。您需要运行php artisan migrate:refresh
。
希望对您有所帮助。
安装这个包
https://github.com/nilpahar/custom-migration/
并运行此命令。
php artisan migrate:custom -f migration_name
PHP的工匠迁移--path = / database / migrations / fileName.php
只需按照指令执行此命令文件名,此处应为您的迁移表名示例:php artisan migration --path = / database / migrations / 2020_02_21_101937_create_jobs_table.php
您只能在终端中运行此命令
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
希望这对您有所帮助。编码愉快。
首先,您应该执行以下命令:
步骤1:
php artisan migrate:rollback
第2步:
php artisan migrate
您的表将返回数据库中。
php artisan migration:refresh
一样。