Laravel 迁移与模型创建的区别

4

Is

php artisan make:model Test -m

等同于

php artisan make:migration create_tests_table --create=tests

make:model -m命令会创建一个tests表吗?

2个回答

4
php artisan make:model Test -m中,-m选项将为该模型创建一个迁移文件。
php artisan make:migration create_tests_table --create=tests中,--create选项是将要创建的表的名称。
所以,是的,-m选项将创建一个名为TIMESTAMP_create_tests_table.php的迁移文件。 更新 如果你发现自己对命令有疑问,可以从终端运行像这样的命令:php artisan help make:model。你会看到一个概述,其中解释了该特定命令的一些额外选项。

-m 会同时创建表吗? - The Man
1
-m 只会创建迁移文件。要在数据库中创建表,您仍需要从终端运行 php artisan migrate - RW24
@TheMan 如果这个回答对你有帮助,请务必将其标记为正确答案。此外,我已经更新了我的答案,并提供了一个提示,以防将来有类似的问题。 - RW24

0

不,它们不是等价的;它们非常不同。一个是创建模型并创建迁移,而另一个只是创建迁移(两个迁移都包括一个名为tests的表)。请记住,创建模型和创建表不是同一件事。从文档中可以看出:“Laravel附带的Eloquent ORM提供了一个美丽、简单的ActiveRecord实现,用于处理数据库。每个数据库表都有一个对应的“Model”,用于与该表交互。模型允许您查询表中的数据,以及将新记录插入表中。”

https://laravel.com/docs/5.8/eloquent#defining-models


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接