为什么 'php artisan migrate' 命令会创建迁移 table 以及我打算创建的 table?
Why does 'php artisan migrate' command create a migration table along with the table i intended to create?
app/migrations/create_user.php
public function up(){
Schema::create('interns', function($intern){
$intern->increments('id');
$intern->string('name');
$intern->integer('salary');
});
}
所以上面的函数创建了一个名为 "intern" 的 table 但同时它还在 运行 命令 [=] 上创建了一个 "migrations" table 20=]。为什么要这样做?
这是 Laravel 跟踪哪些迁移已 运行 的方式。
假设您制作了另一个 table,但效果不佳,因此您需要 运行 php artisan migrate:rollback
。 Laravel 将知道第二个 table 是在第二批中创建的,并且只回滚那个,让你的实习生 table 独自一人。
每次您 运行 另一个迁移时,table 将使用迁移的文件名和它在 运行 中的批次进行更新。
迁移 table 用于 laravel 以跟踪数据库 运行ning 的版本。
对于每个迁移,它都会在迁移中插入一个新行 table,这样当您 运行 migrate:rollback 它知道要撤消哪些迁移,同样,它知道什么迁移到 运行 前进。
如果您查看迁移 table,您会看到它保留了迁移名称和批号的记录。批号是迁移 运行 所在的顺序。例如,您可以创建用户 table。您 运行 和 laravel 记录文件名和批号。接下来,您可以添加与用户 table 相关联的帐户 table。为此,您将创建 2 个新迁移,一个用于创建新帐户 table,另一个用于编辑用户 table 以添加新列 account_id。下次迁移时,两个新迁移都将 运行,但分配在相同的批次 ID 下。
app/migrations/create_user.php
public function up(){
Schema::create('interns', function($intern){
$intern->increments('id');
$intern->string('name');
$intern->integer('salary');
});
}
所以上面的函数创建了一个名为 "intern" 的 table 但同时它还在 运行 命令 [=] 上创建了一个 "migrations" table 20=]。为什么要这样做?
这是 Laravel 跟踪哪些迁移已 运行 的方式。
假设您制作了另一个 table,但效果不佳,因此您需要 运行 php artisan migrate:rollback
。 Laravel 将知道第二个 table 是在第二批中创建的,并且只回滚那个,让你的实习生 table 独自一人。
每次您 运行 另一个迁移时,table 将使用迁移的文件名和它在 运行 中的批次进行更新。
迁移 table 用于 laravel 以跟踪数据库 运行ning 的版本。
对于每个迁移,它都会在迁移中插入一个新行 table,这样当您 运行 migrate:rollback 它知道要撤消哪些迁移,同样,它知道什么迁移到 运行 前进。
如果您查看迁移 table,您会看到它保留了迁移名称和批号的记录。批号是迁移 运行 所在的顺序。例如,您可以创建用户 table。您 运行 和 laravel 记录文件名和批号。接下来,您可以添加与用户 table 相关联的帐户 table。为此,您将创建 2 个新迁移,一个用于创建新帐户 table,另一个用于编辑用户 table 以添加新列 account_id。下次迁移时,两个新迁移都将 运行,但分配在相同的批次 ID 下。