stolentine/macros
Composer 安装命令:
composer require stolentine/macros
包简介
README 文档
README
#Макросы
Миграции
###Типы
- Создание типа (Enum)
use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; Schema::table('', function (Blueprint $table) { $table->createType('claim_document_types') ->enum(['contract', 'act', 'ttn', 'check']); });
- Удаление типа
use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; Schema::table('', function (Blueprint $table) { $table->dropType('claim_document_types')->ifExists(); });
###Столбцы
- Столбец с произвольным типом.
use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; Schema::create('claim_documents', function (Blueprint $table) { $table->addColumnRaw('claim_document_types', 'type'); });
Удаляется как обычный столбец.
###Кастомный уникальный индекс
- Создание.
use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; Schema::create('table', function (Blueprint $table) { $table->customUnique('column'); $table->customUnique('column', 'index_name'); $table->customUnique(['column1', 'column2']); $table->customUnique(['column1', 'column2'], 'index_name'); $table->customUnique('inn') ->where('deleted_at', 'is', null) ->where('create_at', 'is', null, 'or'); $table->customUnique('inn') ->whereIsNull('create_at'); // только для deleted_at $table->customUnique('inn') ->whereDeletedAtIsNull(); });
###Кастомное удаление индекса Если существует
use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; Schema::create('table', function (Blueprint $table) { $table->customDropIndex('index_name')->ifExists(); $table->customDropIndex(['column'])->ifExists(); $table->customDropIndex(['column1', 'column2'])->ifExists(); });
Constraint
- Добавление
use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Query\Builder; Schema::table('table', function (Blueprint $table) { $table->addConstraint(['amount'])->check('amount >= 0 OR amount IS NULL'); $table->addConstraint('table_not_negative_amount_check')->check('amount >= 0 OR amount IS NULL'); $table->addConstraint(['amount'])->check(fn (Builder $q) => $q ->where(fn (Builder $q) => $q ->where('amount', '>=', 0) ->orWhereNull('amount') ) ); });
- Удаление
use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; Schema::table('table', function (Blueprint $table) { $table->dropConstraint(['amount']); $table->dropConstraint('table_not_negative_amount_check'); });
stolentine/macros 适用场景与选型建议
stolentine/macros 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 668 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 07 月 07 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 stolentine/macros 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 stolentine/macros 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 668
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2021-07-07