jeandormehl / laracache
InterSystems Caché provider for Laravel (ODBC)
Installs: 3 214
Dependents: 0
Suggesters: 0
Security: 0
Stars: 12
Watchers: 3
Forks: 8
Open Issues: 1
Requires
- php: ^8.2|^8.3|^8.4
- illuminate/database: ^11.0
- illuminate/support: ^11.0
Requires (Dev)
- laravel/pint: ^1.18
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.5
- orchestra/testbench: ^9.6
- pestphp/pest: ^3.6
- phpunit/phpunit: ^11.4
This package is auto-updated.
Last update: 2025-02-20 19:10:37 UTC
README
Laracaché
Laracaché is an InterSystems Caché database driver package for Laravel. Laracaché is an extension of Illuminate/Database that uses the php-odbc extension to communicate with Caché. This package plays well with Eloquent.
Quick Installation
PHP >= 8.2 and Laravel >= 11
composer require jeandormehl/laracache
For Laravel 9 require 2.2.1
Environment variables
Modify your .env
file to look similar to this.
DB_CONNECTION=isc
DB_WIN_DSN=
DB_UNIX_DRIVER=/usr/local/cache/2018/bin/libcacheodbcur64.so
DB_HOST=127.0.0.1
DB_PORT=1972
DB_DATABASE=LARAVEL
DB_USERNAME=_SYSTEM
DB_PASSWORD=SYS
Configuration
Publish a configuration file by running the following Artisan command.
php artisan vendor:publish --tag=isc
Setup
Create this file /etc/odbc.ini
[ODBC Data Sources]
cache=cache
[cache]
Driver = /usr/local/cache/2018/bin/libcacheodbcur64.so
Description = InterSystems Cache ODBC Connection
Protocol = TCP
Query Timeout = 1
Static Cursors = 0
Authentication Method = 0
Install these extra packages and extract the Caché driver file.
ODBC-2018.1.7.721.0-lnxubuntux64.tar.gz
# Extra packages apt update && apt install -y php8.4-odbc unixodbc libodbccr2 odbcinst # Create this folder mkdir -p /usr/local/cache/2018 # Extract the driver to the folder above tar xvzf ODBC-2018.1.7.721.0-lnxubuntux64.tar.gz -C /usr/local/cache/2018 # Install Caché Driver cd /usr/local/cache/2018 && ./ODBCinstall odbcinst -i -s -f /etc/odbc.ini # Binds ln -s /usr/lib/x86_64-linux-gnu/libodbccr.so.2.0.0 /etc/libodbccr.so
Contribute
You can run this project on VSCODE with Remote Container. Make sure you will use internal VSCODE terminal (inside running container).
composer install
composer test
composer test:coverage
License
The MIT License (MIT). Please see License File for more information.