tonygeez / lazy-column-add-to-migration
Laravel包,通过Artisan命令向迁移中添加列。
v1.0.15
2024-07-05 03:41 UTC
Requires
- php: ^8.2
- laravel/framework: ^11.0
- laravel/tinker: ^2.9
Requires (Dev)
- phpunit/phpunit: ^9.0
README
Lazy Column Add to Migration 是一个简单的Artisan命令,用于Laravel轻松地向现有迁移中添加列。
这是我在最近的一次经历中得出的结果,当时我需要对项目表进行关键更改。当时,我唯一的选择是我带有SSH访问项目文件的iPhone。
这突显了Laravel原生Artisan命令对于此类任务的缺乏,这些命令不仅易于实现,而且简化了在有限环境和初学者中的开发过程。
安装
您可以通过Composer安装此包
composer require tonygeez/lazy-column-add-to-migration
用法
向表中添加列
此包的主要功能是通过简单的Artisan命令向现有表中添加新列。
您可以使用以下方式使用 table:add
命令
php artisan table:add {table?} {column?} [--type={type}] [--nullable] [--after={existing_column}] [--default={value}] [--foreign-model={model}]
命令参数
table
: 将添加列的表名。如果未提供,则命令将提示输入。column
: 要添加的新列名。如果未提供,则命令将提示输入。--type
: 列的类型。支持类型包括bigInteger
、boolean
、date
、dateTime
、decimal
、enum
、float
、foreignId
、id
、increments
、integer
、json
、longText
、string
、text
、timestamps
、unsignedInteger
。如果未提供,则命令将提示输入。--nullable
: 使列可空。--after
: 指定新列将添加在现有列之后。--default
: 为列设置默认值。--foreign-model
: 指定外键关系模型类。与foreignId
类型一起使用。
示例用法
向 users
表添加名为 new_column
的字符串列
php artisan table:add users new_column --type=string
使列可空并将它放置在 email
列之后
php artisan table:add users new_column --type=string --nullable --after=email
添加引用 projects
表的外键列
php artisan table:add tasks project_id --type=foreignId --foreign-model=App\\Models\\Project
添加枚举列
php artisan table:add users status --type=enum
命令将提示您输入枚举值。
交互模式
如果您在没有指定所有参数的情况下运行命令,它将进入交互模式,提示您输入必要的信息
php artisan table:add
这将引导您完成添加新列的过程,询问表名、列名、类型和其他相关细节。
列出表结构
如果您需要检查当前的表结构(例如,在向表中添加新列之前),您可以通过以下方式轻松获取它
php artisan table:list
或者
php artisan table:list {table}
贡献
欢迎贡献!请提交拉取请求或创建问题以讨论任何更改。
许可证
此包是开源软件,采用MIT许可证。