可在 Composer 的 post-install-cmd 中配置自动迁移,Laravel 用 php artisan migrate --force,Symfony 用 php bin/console doctrine:migrations:migrate --no-interaction,但需谨慎启用并加环境判断或改用部署脚本统一管理。

在 Laravel 或 Symfony 项目中,可以通过 Composer 的 post-install-cmd 脚本,在 composer install 执行完毕后自动运行数据库迁移,但需谨慎处理——它只应在开发或部署环境明确需要时启用,生产环境通常应手动控制迁移时机。
配置 composer.json 的 post-install-cmd
在项目根目录的 composer.json 中,将迁移命令添加到 scripts 的 post-install-cmd 数组里。注意:Laravel 和 Symfony 的命令名不同,需按框架选择:
- Laravel:用
php artisan migrate --force(--force绕过交互确认,适合非交互环境) - Symfony(Doctrine):用
php bin/console doctrine:migrations:migrate --no-interaction
示例(Laravel):
"scripts": {
"post-install-cmd": [
"@php artisan migrate --force"
]
}登录后复制
避免重复执行或误触发
Composer 的 post-install-cmd 在每次 composer install 都会运行(包括本地开发),容易导致重复迁移或在无数据库时失败。推荐加一层判断:
标签: php laravel js json docker composer app 工具
还木有评论哦,快来抢沙发吧~