aedart/athenaeum-flysystem-db

Flysystem 数据库适配器

8.10.0 2024-09-23 07:54 UTC

README

这是一个将文件和目录存储在数据库中的 Flysystem 适配器。

支持的数据库

在幕后,使用 Laravel 的数据库包 来执行查询,这为以下数据库提供了支持

  • MariaDB
  • MySQL
  • PostgreSQL
  • SQLite
  • SQL Server
use Aedart\Flysystem\Db\Adapters\DatabaseAdapter;
use Illuminate\Database\Capsule\Manager as Capsule;
use League\Flysystem\Filesystem;

// Establish database connection
$capsule = new Capsule;
$capsule->addConnection([
    'driver' => 'mysql',
    'host' => 'localhost',
    'database' => 'database',
    'username' => 'root',
    'password' => 'password',
    'charset' => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix' => '',
]);

$connection = $capsule->getConnection();

// Create Database Adapter instance
$adapter = new DatabaseAdapter(
    filesTable: 'files',
    contentsTable: 'files_contents',
    connection: $connection
);

// Finally, create filesystem instance
$filesystem = new Filesystem($adapter);

注意:如果您希望在 Laravel 应用程序中使用此适配器,则可以注册此包的 Service Provider。有关更多信息,请参阅官方文档。

数据去重

该适配器使用了 数据去重 技术,这意味着具有完全相同内容的文件只存储一次。

文档

请阅读 官方文档 以获取更多信息。

仓库

单仓库位于 github.com/aedart/athenaeum

版本控制

本包遵循 语义版本控制 2.0.0

许可证

BSD-3-Clause,请阅读本包中包含的 LICENSE 文件