为什么laravel migrate:fresh 422表需要很长时间?
Why laravel migrate:fresh takes a long time for 422 tables?
我有一个 Laravel 项目,每次我想创建一个新项目时,我都使用此命令迁移数据库
php artisan migrate:fresh
它运行良好,但经过 3 年的工作,我已经达到了 422 个表,现在当我想要迁移时,至少需要将近 5 到 10 分钟才能完成迁移作业。
我可以在 localhost
中毫无问题地等待,但我最大的问题是当我使用 LaravelInstaller
库向项目添加安装程序功能时。
这需要很长时间,最终 returns 下一个错误
internal server error 500
因此,为了使此安装能够持续这么长时间,我必须更改 php.ini
中的 Max time limit
来解决此问题。
有什么方法可以加快迁移速度吗?
谢谢
这是对 speed-up 问题的回答,而不是 internal server error 500
,因为没有任何与导致该错误的问题相关的详细信息。
我假设您至少在使用 Laravel 8
,并且在此基础上您可以尝试 Schema Dump
,添加它是为了创建当前模式的转储。
命令如下:
php artisan schema:dump
# Below command is taken from below link, in case of more help, don't hesitate
# to read the docs
# Dump the current database schema and prune all existing migrations...
php artisan schema:dump --prune
你有这个问题只是因为你创建了一个巨大的迁移文件列表,在这种情况下,一般来说,做一个 migration:fresh 应该不会花那么多时间,即使 422
table,但你有这个问题,因为重复这个过程并在几年内使列表变大。
这是 link 到 reference
我有一个 Laravel 项目,每次我想创建一个新项目时,我都使用此命令迁移数据库
php artisan migrate:fresh
它运行良好,但经过 3 年的工作,我已经达到了 422 个表,现在当我想要迁移时,至少需要将近 5 到 10 分钟才能完成迁移作业。
我可以在 localhost
中毫无问题地等待,但我最大的问题是当我使用 LaravelInstaller
库向项目添加安装程序功能时。
这需要很长时间,最终 returns 下一个错误
internal server error 500
因此,为了使此安装能够持续这么长时间,我必须更改 php.ini
中的 Max time limit
来解决此问题。
有什么方法可以加快迁移速度吗?
谢谢
这是对 speed-up 问题的回答,而不是 internal server error 500
,因为没有任何与导致该错误的问题相关的详细信息。
我假设您至少在使用 Laravel 8
,并且在此基础上您可以尝试 Schema Dump
,添加它是为了创建当前模式的转储。
命令如下:
php artisan schema:dump
# Below command is taken from below link, in case of more help, don't hesitate
# to read the docs
# Dump the current database schema and prune all existing migrations...
php artisan schema:dump --prune
你有这个问题只是因为你创建了一个巨大的迁移文件列表,在这种情况下,一般来说,做一个 migration:fresh 应该不会花那么多时间,即使 422
table,但你有这个问题,因为重复这个过程并在几年内使列表变大。
这是 link 到 reference