nacosvel/rooster-server

Nacosvel Rooster Server.

dev-main / 1.x-dev 2024-09-28 14:34 UTC

This package is auto-updated.

Last update: 2024-09-28 14:35:37 UTC


README

Nacosvel Rooster 是一个开源的分布式事务解决方案,致力于为微服务架构提供高性能且易于使用的分布式事务服务。

GitHub Tag Total Downloads Packagist Version Packagist PHP Version Support Packagist License

安装

您可以通过 Composer 安装此包

composer require nacosvel/rooster-server

快速入门

1. 安装 Nacosvel Rooster Server 实现包 https://packagist.org.cn

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 接口

许可

Nacosvel Rooster Server 在 MIT 许可证 (MIT) 下提供。请参阅 许可文件 获取更多信息。