axn / laravel-pk-int-to-bigint
在 Laravel 项目中将数据库主键和相关外键类型从 INT 转换为 BIGINT
2.2.1
2023-07-03 09:21 UTC
Requires
- php: ^8.1
- doctrine/dbal: ^3.5 || ^3.6
- illuminate/database: ^8.0 || ^9.0 || ^10.0
- illuminate/support: ^8.0 || ^9.0 || ^10.0
README
本包将 Laravel 项目的数据库主键和相关外键类型从 INT 转换为 BIGINT。
这对于需要更新的旧项目特别有用。
实际上,自从 Laravel 5.8 开始,ID 列默认为 BIGINT 类型。如果您安装了使用这种新“标准”的包,您将无法创建外键。
因此,此包将帮助您将旧应用现代化。
它分为 4 个步骤
- 数据库自省和验证外键的完整性(如果完整性不被遵守,则停止并通知您)
- 在每个表上删除所有外键约束
- 在每个表的主键和外键列上将从 INT 转换为 BIGINT
- 在每个表上恢复所有外键约束
安装
使用 Composer 安装包
composer require axn/laravel-pk-int-to-bigint
用法
首先创建数据库备份,以防出现问题。
手动
如果您想直接运行命令
php artisan pk-int-to-bigint:transform
使用迁移
发布迁移
php artisan vendor:publish --tag="pk-int-to-bigint-migration"
这样您就可以使用以下命令将其集成到您的部署流程中:
php artisan migrate