xbu3n0 / laravel-sybase
Laravel 10.x 的基于 Sybase 的 Eloquent 模块扩展
Requires
- php: >=8.1
- ext-pdo: *
- doctrine/dbal: ^3.5.1
- illuminate/database: >=8.0
- illuminate/support: >=8.0
Requires (Dev)
- nunomaduro/collision: ^7.4
- orchestra/testbench: ^8.5
- dev-master
- dev-laravel-sybase
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- v3.3.0
- v3.2.2
- v3.2.1
- v3.2.0
- v3.1.0
- 3.0.0
- 2.6.0
- 2.5.0
- 2.4.0
- 2.3.1
- 2.3.0
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0
- 1.3.2
- 1.3.1
- 1.3
- 1.2.1
- 1.2.0.7
- 1.2.0.6
- 1.2.0.5
- 1.2.0.4
- 1.2.0.3
- 1.2.0.2
- 1.2.0.1
- 1.2
- 1.1
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0
- 0.3.0
- 0.2.4
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2
- 0.1.1
- 0.1.0
This package is not auto-updated.
Last update: 2024-09-27 17:56:07 UTC
README
- 启用使用多种类型的字段。
- 使用默认的 eloquent:与 odbc 和 dblib 兼容!
- 迁移!(进行中 - Work in Progress)
安装
请在您的 composer.json 文件的 require 部分添加以下内容
Laravel >=7.x
"xbu3n0/laravel-sybase": "~4.0"
通过执行以下命令更新包依赖
composer update
将以下条目添加到 config/app.php 文件的 providers 数组中,在 Laravel 5.5 或更高版本中为可选
Uepg\LaravelSybase\SybaseServiceProvider::class,
将以下条目添加到 config/app.php 文件的 aliases 数组中,在 Laravel 5.5 或更高版本中为可选
'UepgBlueprint' => Uepg\LaravelSybase\Database\Schema\Blueprint::class,
使用以下设置更新您的 config/database.php 的默认驱动程序,针对 sybase 或您的自定义 odbc。以下是一个示例
<?php ... return [ ... 'connections' => [ ... 'sybase' => [ 'driver' => 'sybasease', 'host' => env('DB_HOST', 'sybase.myserver.com'), 'port' => env('DB_PORT', '5000'), 'database' => env('DB_DATABASE', 'mydatabase'), 'username' => env('DB_USERNAME', 'user'), 'password' => env('DB_PASSWORD', 'password'), 'charset' => 'utf8', 'prefix' => '', 'cache' => true // By default it caches on all connections, if you want some connection not remembered assign `false` (Recommended when modification is performed on tables frequently [development]) ], ... ], ... ]
使用以下设置更新您的 .env,针对 sybase 或您的自定义 odbc。以下是一个示例
...
DB_CONNECTION=sybase
DB_HOST=sybase.myserver.com
DB_PORT=5000
DB_DATABASE=mydatabase
DB_USERNAME=user
DB_PASSWORD=password
...
配置 freetds 驱动程序
在 Linux 系统中,驱动程序版本必须在 freetds.conf 文件中设置为正确使用 charset pages。
文件通常位于 /etc/freetds/freetds.conf。以下是一个示例,在全局部分设置配置
[global]
# TDS protocol version
tds version = 5.0
配置数据库和应用程序之间的字符集
为了配置数据库和应用程序之间的字符集,在 .env
文件中添加字段 SYBASE_DATABASE_CHARSET
和 SYBASE_APPLICATION_CHARSET
,以下是一个示例
SYBASE_DATABASE_CHARSET=CP850 SYBASE_APPLICATION_CHARSET=UTF8
配置缓存
由于库在收到请求时始终查询表信息,因此可以使用缓存来避免过多的查询。
为了使用缓存,将字段 SYBASE_CACHE_TABLES
和 SYBASE_CACHE_TABLES_TIME
添加到 .env
文件中,以下是一个示例
SYBASE_CACHE_TABLES=true SYBASE_CACHE_TABLES_TIME=3600 # cache table information by `3600` seconds
设置使用数值数据类型
在迁移文件中,您必须将 use Illuminate\Database\Schema\Blueprint;
替换为 use Uepg\LaravelSybase\Database\Schema\Blueprint;
。以下是一个示例
<?php use Illuminate\Support\Facades\Schema; // use Illuminate\Database\Schema\Blueprint; use Uepg\LaravelSybase\Database\Schema\Blueprint; // or "use UepgBlueprint as Blueprint" use Illuminate\Database\Migrations\Migration; class CreateTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('table_name', function (Blueprint $table) { $table->numeric('column_name', length, autoIncrement); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('table_name'); } }