darkterminal/turso-http-laravel

1.0.1 2024-09-04 21:27 UTC

This package is auto-updated.

Last update: 2024-09-15 19:22:13 UTC


README

Turso + Laravel

Turso + Laravel

SQLite 用于生产。由 libSQL 提供支持。

Turso · 快速入门 · 示例 · 文档 · Discord · 博客 & 教程

为 Laravel 的 LibSQL HTTP

需求

安装

您可以通过 composer 安装此包

composer require darkterminal/turso-http-laravel

然后在 bootstrap/providers.php 数组中注册服务提供者

return [
    App\Providers\AppServiceProvider::class,
    Turso\Http\Laravel\LibSQLHttpServiceProvider::class, // Here
];

数据库配置

DB_CONNECTION=libsql
DB_DATABASE=<your-turso-database-url>
DB_AUTH_TOKEN=<your-turso-database-auth-token>

数据库配置

config/database.php 中的 connections 数组中添加此配置

'libsql' => [
    'driver' => 'libsql',
    'url' => env('DB_DATABASE', ''),
    'authToken' => env('DB_AUTH_TOKEN', ''),
    'database' => null,
    'prefix' => '',
],

复制并粘贴,不要修改!或者尝试修改它,可能会破坏您的应用程序或导致故障。

使用方法

对于数据库操作使用,所有接口与您在数据库模型中使用 Illuminate\Support\Facades\DB 时相同。但请记住,这是 LibSQL,它们有 sync 方法,可以在连接到远程副本连接(嵌入式副本)时使用。

use Illuminate\Support\Facades\DB;

// Create
DB::table('users')->insert([
    'name' => 'Budi Dalton',
    'email' => 'budi.dalton@duck.com'
]);

// Read
DB::table('users')->get();
DB::table('users')->where('id', 2)->first();
DB::table('users')->orderBy('id', 'DESC')->limit(2)->get();

// Update
DB::table('users')->where('id', 2)->update(['name' => 'Doni Mandala']);

// Delete
DB::table('users')->where('id', 2)->delete();

// Transaction
try {
    DB::beginTransaction();

    $updated = DB::table('users')->where('id', 9)->update(['name' => 'Doni Kumala']);

    if ($updated) {
        echo "It's updated";
        DB::commit();
    } else {
        echo "Not updated";
        DB::rollBack();
    }

    $data = DB::table('users')->orderBy('id', 'DESC')->limit(2)->get();
    dump($data);
} catch (\Exception $e) {
    DB::rollBack();
    echo "An error occurred: " . $e->getMessage();
}

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

安全漏洞

有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略

致谢

许可协议

MIT 许可协议(MIT)。有关更多信息,请参阅 许可文件