nacosvel / rooster-server
Nacosvel Rooster Server.
Requires
- php: >=8.0
- illuminate/database: ^9.52
- nacosvel/console: ^1.0
- nacosvel/container-interop: ^1.0
- nacosvel/database-manager: ^1.0
- nacosvel/facde: ^1.0
- nacosvel/rooster-contracts: ^1.0
- nacosvel/rooster-server-implementation: ^1.0
This package is auto-updated.
Last update: 2024-10-28 14:49:31 UTC
README
Nacosvel Rooster is an open-source distributed transaction solution dedicated to providing high-performance and easy-to-use distributed transaction services in microservice architectures.
Installation
You can install the package via Composer:
composer require nacosvel/rooster-server
Quick Start
1.安装 Nacosvel Rooster Server 实现包 https://packagist.org
Nacosvel Rooster Server 基于跨框架的理念开发
composer require nacosvel/rooster-server
只是安装了 Nacosvel Rooster Server 的主包,需要具体的 实现包 来完成数据库操作及路由配置
2.发布配置文件
通过命令行
php ns rooster-server:publish-database-config [<path>]
可以指定将数据库配置文件发布到指定目录,默认根目录下的config
文件夹php ns rooster-server:publish-database-config数据库配置文件中的
schema
是指定数据库表名的映射关系,可以根据需求做修改
3.迁移数据库脚本
通过命令行
php ns rooster-server:migration-database-scripts [<path>]
可以指定将数据库脚本文件发布到指定目录,默认根目录下的database/scripts
文件夹php ns rooster-server:migration-database-scripts
4.容器发现与交互
use Nacosvel\Container\Interop\Discover; class AppServiceProvider extends ServiceProvider { public function boot(): void { Discover::container(); } }
不同框架实现方式可能不一致,可以在服务提供者中实现容器发现功能。 具体操作查看 nacosvel/container-interop
5.自定义数据库配置
如果使用发布后的数据库配置文件,需要将配置数据通过当前框架的容器在服务提供者中进行绑定
use Nacosvel\Container\Interop\Discover; use Nacosvel\RoosterServer\Contracts\DatabaseConfigInterface; class AppServiceProvider extends ServiceProvider { public function boot(): void { $this->app->bind(DatabaseConfigInterface::class, function () { return []; //return app('config')->get('rooster-server'); }); Discover::container(); } }
不同框架实现方式可能不一样,目的是将 Nacosvel Rooster Server 数据库配置绑定到
Nacosvel\RoosterServer\Contracts\DatabaseConfigInterface::class
接口
License
Nacosvel Rooster Server is made available under the MIT License (MIT). Please see License File for more information.