Connection and Laravel Eloquent driver for Sybase
Add the following in the require section of your composer.json:
"uepg/laravel-sybase": "~1.0"
"uepg/laravel-sybase": "~2.0"
"uepg/laravel-sybase": "~3.0"
Update the package dependencies executing:
composer update
Add the following entry to your providers array in config/app.php file, optional in Laravel 5.5 or above:
Uepg\LaravelSybase\SybaseServiceProvider::class,
Add the following entry to your aliases array in config/app.php file, optional in Laravel 5.5 or above:
'UepgBlueprint' => Uepg\LaravelSybase\Database\Schema\Blueprint::class,
Update your config/database.php's default driver with the settings for the sybase or your custom odbc. See the following example:
<?php
...
return [
...
'connections' => [
...
'sybase' => [
'driver' => 'sqlsrv',
'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' => '',
],
...
],
...
]
Update your .env with the settings for the sybase or your custom odbc. See the following example:
...
DB_CONNECTION=sybase
DB_HOST=sybase.myserver.com
DB_PORT=5000
DB_DATABASE=mydatabase
DB_USERNAME=user
DB_PASSWORD=password
...
In Linux systems the driver version must be set in freetds.conf file to the right use of charset pages.
The file is usualy found in /etc/freetds/freetds.conf. Set the configuration at global section as the following example:
[global]
# TDS protocol version
tds version = 5.0
In the migration file you must replace use Illuminate\Database\Schema\Blueprint;
with use Uepg\LaravelSybase\Database\Schema\Blueprint;
. See the following example:
<?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');
}
}