bmstanley / laravel-nomad
为Laravel迁移添加额外功能。
Requires
- php: >=7.0.0
- illuminate/database: 5.5.*
Requires (Dev)
- doctrine/dbal: ^2.5
- fzaninotto/faker: ~1.5
- mockery/mockery: ~0.9
- orchestra/database: 3.5.*
- orchestra/testbench: 3.5.*
- phpunit/phpunit: ~6.0
- squizlabs/php_codesniffer: ^2.6
This package is auto-updated.
Last update: 2024-09-16 07:54:28 UTC
README
此Laravel包为Illuminate数据库迁移提供额外功能。目前唯一的额外功能是能够指定自定义数据库字段类型,但可根据需求添加新功能。
支持的版本
5.5
安装
通过Composer
$ composer require bmstanley/laravel-nomad
Laravel 5.5及更高版本无需配置。该包将自动发现。
使用方法
自定义字段类型
Laravel的迁移提供了许多在支持的数据库中使用的标准字段类型的方法,但并非详尽无遗。此外,一些数据库有可以启用的扩展,这些扩展可以添加新的字段类型。不幸的是,无法使用内置的迁移方法创建这些新数据类型的字段。
例如,PostgreSQL有一个“citext”模块,允许轻松进行不区分大小写的匹配。该模块添加了一个新的“citext”字段数据类型,用于存储不区分大小写的字符串数据。内置的迁移方法没有创建“citext”字段的方法,因此需要在表创建后添加直接的“ALTER”语句。
此包添加了一个新的passthru
方法,允许在迁移中定义自定义数据类型。passthru
方法可以用来添加任何数据类型的字段,因为指定的类型只是传递到模式语法。
passthru
方法需要两个参数:数据类型和字段名称。如果需要,可以使用第三个可选参数来指定实际的数据类型定义。也可以将definition
方法链接到一起以指定实际的数据类型定义。以下是一个使用示例:
class CreateUsersTable extends Migration { public function up() { Schema::create('users', function(Blueprint $table) { $table->increments('id'); $table->passthru('citext', 'name'); $table->passthru('citext', 'title')->nullable(); $table->passthru('string', 'email', 'varchar(255)')->unique(); $table->passthru('string', 'password')->definition('varchar(60)'); $table->rememberToken(); $table->timestamps(); }); } public function down() { Schema::drop('users'); } }
贡献
欢迎贡献。请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件patrick@shiftonelabs.com联系,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。