orptech / laravel-migration-partition
Laravel 扩展程序,扩展 Illuminate 以在 Laravel 迁移中启用分区表创建。
v11.0.0
2024-06-08 11:03 UTC
Requires
- php: ^8.2
- illuminate/console: ^11.0
- illuminate/contracts: ^11.0
- illuminate/database: ^11.0
- illuminate/filesystem: ^11.0
- illuminate/support: ^11.0
- spatie/laravel-package-tools: ^1.16.0
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1
- orchestra/testbench: ^9.0.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
- spatie/laravel-ray: ^1.35
- dev-main
- v11.0.0
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.0.0
- v3.0.0-beta.2
- v3.0.0-beta.1
- v3.0.0-beta
- v2.0.0
- v2.0.0-beta.1
- v2.0.0-alpha
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-laravel-11.x
- dev-ArdaKaraderi-patch-6
- dev-ArdaKaraderi-patch-5
- dev-ArdaKaraderi-patch-4
- dev-ArdaKaraderi-patch-3
- dev-ArdaKaraderi-patch-2
- dev-ArdaKaraderi-patch-1
- dev-v3-beta
- dev-hash-list-partitions
This package is not auto-updated.
Last update: 2024-09-14 12:21:11 UTC
README
Laravel 的数据库分区通过迁移(又名 Laravel 迁移分区)
该包扩展 Illuminate,以在迁移中提供 PostgreSQL 的分区表创建。其他数据库的支持将很快添加。
ORPtech 软件
我们是 ORPtech。在这里,我们自豪地确保客户和服务有一个和平、安全、顺畅的互动。我们知道建立信任是多么困难,因此我们通过我们强大的应用程序帮助弥合市场上的差距。请联系我们了解我们的服务如何帮助您的业务。
安装
您可以通过 composer 安装此包。
composer require orptech/laravel-migration-partition
数据库管理系统支持
- PostgreSQL
计划开发
- MySQL - 招募贡献者
- MariaDB - 招募贡献者
- SQL Server 2017+
- SQLite 3.8.8+
使用方法
目前,此包仅支持 PostgreSQL。
PostgreSQL
PostgreSQL 也称为 Postgres,是一个免费的开源关系数据库管理系统(RDBMS),强调可扩展性和 SQL 兼容性。
范围分区
而不是导入 Illuminate 的 Schema,请导入此包的 schema
use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema;
模板使用
范围分区
use ORPTech\MigrationPartition\Database\Schema\Blueprint; use ORPTech\MigrationPartition\Support\Facades\Schema; Schema::createRangePartitioned('[YourTableNameHere]', function (Blueprint $table) { //... }, '[compositeKeyOne]', '[compositeKeyTwo]', '[rangePartitionKey]');
为分区表创建范围分区
use ORPTech\MigrationPartition\Database\Schema\Blueprint; use ORPTech\MigrationPartition\Support\Facades\Schema; Schema::createRangePartition('[YourPartitionedTableNameHere]', function (Blueprint $table) {}, '[suffixForPartition]', '[startDate]', '[endDate]');
将范围分区附加到分区表
use ORPTech\MigrationPartition\Database\Schema\Blueprint; use ORPTech\MigrationPartition\Support\Facades\Schema; Schema::attachRangePartition('[YourPartitionedTableNameHere]', function (Blueprint $table) {}, '[suffixForPartition]', '[startDate]', '[endDate]');
列表分区
use ORPTech\MigrationPartition\Database\Schema\Blueprint; use ORPTech\MigrationPartition\Support\Facades\Schema; Schema::createListPartitioned('[YourTableNameHere]', function (Blueprint $table) { //... }, '[compositeKeyOne]', '[compositeKeyTwo]', '[listPartitionKey]');
为分区表创建列表分区
use ORPTech\MigrationPartition\Database\Schema\Blueprint; use ORPTech\MigrationPartition\Support\Facades\Schema; Schema::createListPartition('[YourPartitionedTableNameHere]', function (Blueprint $table) {}, '[suffixForPartition]', '[listPartitionValue]');
将列表分区附加到分区表
use ORPTech\MigrationPartition\Database\Schema\Blueprint; use ORPTech\MigrationPartition\Support\Facades\Schema; Schema::attachListPartition('[YourPartitionedTableNameHere]', function (Blueprint $table) {}, '[suffixForPartition]', '[listPartitionValue]');
哈希分区
use ORPTech\MigrationPartition\Database\Schema\Blueprint; use ORPTech\MigrationPartition\Support\Facades\Schema; Schema::createHashPartitioned('[YourTableNameHere]', function (Blueprint $table) { //... }, '[compositeKeyOne]', '[compositeKeyTwo]', '[hashPartitionKey]');
为分区表创建哈希分区
use ORPTech\MigrationPartition\Database\Schema\Blueprint; use ORPTech\MigrationPartition\Support\Facades\Schema; Schema::createHashPartition('[YourPartitionedTableNameHere]', function (Blueprint $table) {}, '[suffixForPartition]', '[hashModulus]', '[hashRemainder]');
将哈希分区附加到分区表
use ORPTech\MigrationPartition\Database\Schema\Blueprint; use ORPTech\MigrationPartition\Support\Facades\Schema; Schema::attachHashPartition('[YourPartitionedTableNameHere]', function (Blueprint $table) {}, '[suffixForPartition]', '[hashModulus]', '[hashRemainder]');
删除分区
use ORPTech\MigrationPartition\Database\Schema\Blueprint; use ORPTech\MigrationPartition\Support\Facades\Schema; Schema::detachPartition('[YourPartitionedTableNameHere]', function (Blueprint $table) {}, '[partitionTableName]');
命令
创建一系列范围分区迁移
此命令将为所有范围分区表创建一系列新的迁移。
php artisan partition:range
创建一系列列表分区迁移
此命令将为所有列表分区表创建一系列新的迁移。
php artisan partition:list
创建一系列哈希分区迁移
此命令将为所有哈希分区表创建一系列新的迁移。
php artisan partition:hash
列出分区
此命令将列出所有分区表。
php artisan partition:partitions
重要
- 目前,此包支持 PostgreSQL 范围分区。
- 您不应在迁移中定义任何主键。包在设置表时创建组合键。
- 您需要创建一个初始分区才能开始使用表。(PostgreSQL)
测试
composer test
变更日志
有关最近更改的更多信息,请参阅变更日志。
安全漏洞
有关如何报告安全漏洞的更多信息,请参阅我们的安全策略。
致谢
许可
MIT 许可证(MIT)。有关更多信息,请参阅许可文件。