gpt4 book ai didi

php - 如何手动创建 laravel 迁移文件

转载 作者:可可西里 更新时间:2023-10-31 23:16:57 24 4
gpt4 key购买 nike

我正在创建一个简单的生成器,它将帮助我在工作中使用简单的几行 YAML 创建模型、 Controller 、 View 、路由和迁移。到目前为止一切看起来都很好,但我遇到了一个问题并进行了很多搜索,但仍然一无所获。

我的工具生成一个迁移文件,问题是迁移文件名必须遵循特定规则,以便 php artisan migrate 命令可以检测到该文件并进行迁移。

文件名必须以年、月、日和数字开头,然后是迁移说明。例如。 2014_10_12_000000_create_users_table.php2014_10_12_100000_create_password_resets_table.php现在,很容易将日期放在文件的开头,但我怎样才能遵循数字规则呢?每有一个新的迁移文件,数字就加一。

如何检测最后创建的文件以了解其编号并制作一个编号大于上次创建的迁移文件的新迁移文件?

同时,我使用这段代码创建迁移文件名。

$migrationFileName = date('y').'_'.date('m').'_'.date('d').'_'.'create'.ucfirst($name).'Table';

但是命令php artisan migrate 仍然无法检测到没有编号的文件来迁移它。那我该怎么做呢?

最佳答案

如果您想知道迁移文件的实际命名格式是什么,您应该查看 Illuminate\Database\Migrations\MigrationCreator 文件。您猜测的排序数字实际上是一个时间戳,您可以在该文件的以下函数中找到它:

protected function getDatePrefix()
{
return date('Y_m_d_His');
}

下面是完整的文件名创建函数:

protected function getPath($name, $path)
{
return $path.'/'.$this->getDatePrefix().'_'.$name.'.php';
}

希望对您有所帮助。

关于php - 如何手动创建 laravel 迁移文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39052663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com