The official SingleStore Laravel driver.

Overview

SingleStore Driver for Laravel

This repository contains a SingleStore Driver for Laravel.

This package is currently in a pre-release beta, please use with caution and open any issues that you run into.

Install

You can install the package via composer:

composer require singlestore/singlestore-laravel

Usage

To enable the driver, head to your config/database.php file and create a new entry for SingleStore in your connections, and update your default to point to that new connection:

[
    'default' => env('DB_CONNECTION', 'singlestore'),

    'connections' => [
        'singlestore' => [
            'driver' => 'singlestore',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST'),
            'port' => env('DB_PORT'),
            'database' => env('DB_DATABASE'),
            'username' => env('DB_USERNAME'),
            'password' => env('DB_PASSWORD'),
            'unix_socket' => env('DB_SOCKET'),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
                PDO::ATTR_EMULATE_PREPARES => true,
            ]) : [],
        ],
    ]
]

The SingleStore driver is an extension of the MySQL driver, so you could also just change your driver from mysql to singlestore.

In case you want to store failed jobs in SingleStore, then make sure you also set it as the database in your config/queue.php file. At which point, you may actually preffer to set DB_CONNECTION='singlestore' in your environment variables.

'failed' => [
    'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
    'database' => env('DB_CONNECTION', 'singlestore'),
    'table' => 'failed_jobs',
],

Migrations

This driver provides many SingleStore specific methods for creating or modifying tables. They are listed below. For more information see the Create Table docs on SingleStore.

Rowstore Tables

To create a rowstore table, use the rowstore method.

Schema::create('table', function (Blueprint $table) {
    $table->rowstore();

    // ...
});

Reference Tables

To create a reference table, you may use the reference method.

Schema::create('table', function (Blueprint $table) {
    $table->reference();

    // ...
});

Global Temporary Tables

To create a global temporary table, you may use the global method on the table.

Schema::create('table', function (Blueprint $table) {
    $table->rowstore();
    $table->temporary();
    $table->global();

    // ...
});

You may also use either of the following two methods:

// Fluent
$table->rowstore()->temporary()->global();

// As an argument to `temporary`.
$table->temporary($global = true);

Sparse Columns

You can mark particular columns as sparse fluently by appending sparse to the column's definition.

Schema::create('table', function (Blueprint $table) {
    $table->rowstore();

    $table->string('name')->nullable()->sparse();
});

Sparse Tables

You can mark particular entire tables as sparse fluently by appending sparse to the column's definition.

Schema::create('table', function (Blueprint $table) {
    $table->rowstore();

    $table->string('name');

    $table->sparse();
});

Shard Keys

You can add a shard key to your tables using the standalone shardKey method, or fluently by appending shardKey to the column definition.

Schema::create('table', function (Blueprint $table) {
    $table->string('name');

    $table->shardKey('name');
});

Schema::create('table', function (Blueprint $table) {
    $table->string('name')->shardKey();
});

Schema::create('table', function (Blueprint $table) {
    $table->string('f_name');
    $table->string('l_name');

    $table->shardKey(['f_name', 'l_name']);
});

Sort Keys

You can add a sort key to your tables using the standalone sortKey method, or fluently by appending sortKey to the column definition.

Schema::create('table', function (Blueprint $table) {
    $table->string('name');

    $table->sortKey('name');
});

Schema::create('table', function (Blueprint $table) {
    $table->string('name')->sortKey();
});

Schema::create('table', function (Blueprint $table) {
    $table->string('f_name');
    $table->string('l_name');

    $table->sortKey(['f_name', 'l_name']);
});

Series Timestamps

To denote a column as a series timestamp, use the seriesTimestamp column modifier.

Schema::create('table', function (Blueprint $table) {
    $table->datetime('created_at')->seriesTimestamp();

    // Or make it sparse
    $table->datetime('deleted_at')->nullable()->seriesTimestamp()->sparse();
});

Computed Columns

SingleStore does not support virtual computed columns. You must use Laravel's storedAs method to create a persisted computed column.

Schema::create('test', function (Blueprint $table) {
    $table->integer('a');
    $table->integer('b');
    $table->integer('c')->storedAs('a + b');
});

Testing

Execute the tests using PHPUnit

./vendor/bin/phpunit

To test against an active SingleStore database, create a .env file and populate the following variables:

DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
DB_HOST=

Now when executing your tests, enable the integration tests by running

HYBRID_INTEGRATION=1 ./vendor/bin/phpunit

License

This library is licensed under the Apache 2.0 License.

Resources

User agreement

SINGLESTORE, INC. ("SINGLESTORE") AGREES TO GRANT YOU AND YOUR COMPANY ACCESS TO THIS OPEN SOURCE SOFTWARE CONNECTOR ONLY IF (A) YOU AND YOUR COMPANY REPRESENT AND WARRANT THAT YOU, ON BEHALF OF YOUR COMPANY, HAVE THE AUTHORITY TO LEGALLY BIND YOUR COMPANY AND (B) YOU, ON BEHALF OF YOUR COMPANY ACCEPT AND AGREE TO BE BOUND BY ALL OF THE OPEN SOURCE TERMS AND CONDITIONS APPLICABLE TO THIS OPEN SOURCE CONNECTOR AS SET FORTH BELOW (THIS “AGREEMENT”), WHICH SHALL BE DEFINITIVELY EVIDENCED BY ANY ONE OF THE FOLLOWING MEANS: YOU, ON BEHALF OF YOUR COMPANY, CLICKING THE “DOWNLOAD, “ACCEPTANCE” OR “CONTINUE” BUTTON, AS APPLICABLE OR COMPANY’S INSTALLATION, ACCESS OR USE OF THE OPEN SOURCE CONNECTOR AND SHALL BE EFFECTIVE ON THE EARLIER OF THE DATE ON WHICH THE DOWNLOAD, ACCESS, COPY OR INSTALL OF THE CONNECTOR OR USE ANY SERVICES (INCLUDING ANY UPDATES OR UPGRADES) PROVIDED BY SINGLESTORE. BETA SOFTWARE CONNECTOR

Customer Understands and agrees that it is being granted access to pre-release or “beta” versions of SingleStore’s open source software connector (“Beta Software Connector”) for the limited purposes of non-production testing and evaluation of such Beta Software Connector. Customer acknowledges that SingleStore shall have no obligation to release a generally available version of such Beta Software Connector or to provide support or warranty for such versions of the Beta Software Connector for any production or non-evaluation use.

NOTWITHSTANDING ANYTHING TO THE CONTRARY IN ANY DOCUMENTATION, AGREEMENT OR IN ANY ORDER DOCUMENT, SINGLESTORE WILL HAVE NO WARRANTY, INDEMNITY, SUPPORT, OR SERVICE LEVEL, OBLIGATIONS WITH RESPECT TO THIS BETA SOFTWARE CONNECTOR (INCLUDING TOOLS AND UTILITIES).

APPLICABLE OPEN SOURCE LICENSE: Apache 2.0

IF YOU OR YOUR COMPANY DO NOT AGREE TO THESE TERMS AND CONDITIONS, DO NOT CHECK THE ACCEPTANCE BOX, AND DO NOT DOWNLOAD, ACCESS, COPY, INSTALL OR USE THE SOFTWARE OR THE SERVICES.

Comments
  • Vapor Serverless - Laravel can't find singlestore driver

    Vapor Serverless - Laravel can't find singlestore driver

    Hi,

    The singlestore driver seems incompatible with Vapor.

    From a middleware where we do this : auth()->check() === false

    Here is the error received :

    PDOException
    Illuminate\Database\QueryException
    SQLSTATE[HY000] [2002]  (trying to connect via (null)) (SQL: select * from `user` where `id` = 1024732 limit 1)
    

    Even trying to register singlestore connection in the AppServiceProvider following this issue : https://github.com/singlestore-labs/singlestore-laravel-driver/issues/2 it does not work

    Maybe an extension is missing on Vapor but which one? Is there an incompatibility with Alpine?

    On EC2 it works but not on serverless :(.

    Any idea?

    opened by LucasNCastro 21
  • could not find driver

    could not find driver

    Just installed the package to test out singlestore on a local docker instance. I have the localhost cluster up and running, but when I changed my env connection to the singlestore driver, I get an error of "could not find driver." Singlestore studio and Tableplus are able to connect to the localhost cluster just fine.

    Excited to try it out, but any thoughts? Thanks!

    sitenote: I am using docker-compose and the host is correct. My environment variables are accurate.

    # php artisan --version
    Laravel Framework 9.23.0
    

    .env

    DB_CONNECTION=singlestore
    DB_HOST=singlestore
    DB_PORT=3306
    DB_DATABASE=plutus
    DB_USERNAME=root
    DB_PASSWORD=*****
    

    composer.lock

                "name": "singlestoredb/singlestoredb-laravel",
                "version": "v1.0.0",
                "source": {
                    "type": "git",
                    "url": "https://github.com/singlestore-labs/singlestoredb-laravel-driver.git",
                    "reference": "2dd741545c83301be264d3849ed5018d10a59db0"
                },
    
    opened by IronSinew 15
  • Blueprint::shardKey does not exist.

    Blueprint::shardKey does not exist.

    Getting this error while trying to migrate!

    `2014_10_12_000000_create_users_table .................................................................................................... 3ms FAIL

    BadMethodCallException

    Method Illuminate\Database\Schema\Blueprint::shardKey does not exist.`

    opened by rana01645 12
  • Drop tables one by one

    Drop tables one by one

    Dropping more than one table in a single query is not supported by SingleStore, as we can see in https://github.com/singlestore-labs/singlestore-laravel-driver/issues/3#issuecomment-1151213371.

    This draft PR solves this issue, but the solution can be improved.

    Instead of the one item array per table, I tried using $this->grammar->compileDrop($table) from MySqlGrammar, but it needs the Blueprint which I don't really know how to get.

    I'm leaving this draft PR here, at least as a proof of concept.

    opened by fgilio 8
  • Support hash indexes

    Support hash indexes

    It is not possible to use the index in a columnstore migration:

    COLUMNAR indexes and SKIPLIST indexes cannot be used on the same table

    Would it be possible to detect and default to hash indexes automatically?

    Alternatively add a new hashIndex or usingHash similar to withoutPrimaryKey.

    $table->sortKey();
    
    $table->index(); // defaults to hash index
    $table->index()->usingHash(); // or $table->index()->using('hash');
    $table->hashIndex();
    
    opened by mpskovvang 7
  • Add support for whereFullText

    Add support for whereFullText

    Follow up from https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/9

    This adds support for using Laravel's whereFullText(...) method for full text search.

    Relevant docs pages:

    • https://docs.singlestore.com/managed-service/en/reference/sql-reference/data-definition-language-ddl/create-table.html#fulltext-behavior
    • https://docs.singlestore.com/managed-service/en/reference/sql-reference/full-text-search-functions/match.html

    This would also be the first step to add support for HIGHLIGHT.


    WIP:

    • I need to see if we need to do something more to support orWhereFullText
    • I'm not sure we need to catch the exception and throw a custom one, SingleStore already provides an easily understandable error message
    opened by fgilio 7
  • Issue with global scope

    Issue with global scope

    I have this global scope set up for some of my eloquent models:

            static::addGlobalScope('ordered', function(Builder $builder) {
                $builder->orderBy('sort_order','asc');
            });
    

    What happens here is that on every query that is ran for models of that kind, appends ORDER BYsort_orderASC. Mysql is fine with for instance this query:

    UPDATE
    	`table`
    SET
    	`field_1` = "test"
    WHERE
    	`field_2` IS NULL
    ORDER BY
    	`sort_order` ASC;
    

    But SingleStore does not allow order by on update. Is there any solution to this, other than to remove the use of global scopes in the application?

    opened by 4ice 6
  • Add support for whereFullText

    Add support for whereFullText

    Hi Aaron!

    Another draft PR here, it's missing tests and the implementation is just bare bones.

    I found SingleStore's syntax is slightly different from MySQL, so the version from MySqlGrammar doesn't work with SingleStore.

    What do you think of this? If I get time to work on the tests, I could also add support for HIGHLIGHT.

    opened by fgilio 6
  • Fix many things in Connection

    Fix many things in Connection

    Hello @aarondfrancis!

    composer require --dev nunomaduro/larastan
    vendor/bin/phpstan analyze -c vendor/nunomaduro/larastan/extension.neon -l 5 src/
    

    You will discover things like

    diff --git a/src/Connect/Connection.php b/src/Connect/Connection.php
    index 5c3e52e..14007af 100644
    --- a/src/Connect/Connection.php
    +++ b/src/Connect/Connection.php
    @@ -6,18 +6,17 @@
     namespace SingleStore\Laravel\Connect;
    
     use Illuminate\Database\MySqlConnection;
    -use SingleStore\Laravel\Query;
    -use SingleStore\Laravel\QueryGrammar;
    -use SingleStore\Laravel\Schema;
    -use SingleStore\Laravel\SchemaBuilder;
    -use SingleStore\Laravel\SchemaGrammar;
    +use SingleStore\Laravel\Query\Builder as QueryBuilder;
    +use SingleStore\Laravel\Query\Grammar as QueryGrammar;
    +use SingleStore\Laravel\Schema\Builder as SchemaBuilder;
    +use SingleStore\Laravel\Schema\Grammar as SchemaGrammar;
    
     class Connection extends MySqlConnection
     {
         /**
          * Get a schema builder instance for the connection.
          *
    -     * @return SchemaBuilder
    +     * @return \SingleStore\Laravel\Schema\Builder
          */
         public function getSchemaBuilder()
         {
    @@ -25,36 +24,40 @@ class Connection extends MySqlConnection
                 $this->useDefaultSchemaGrammar();
             }
    
    -        return new Schema\Builder($this);
    +        return new SchemaBuilder($this);
         }
    
         /**
          * Get the default query grammar instance.
          *
    -     * @return QueryGrammar
    +     * @return \Illuminate\Database\Grammar
          */
         protected function getDefaultQueryGrammar()
         {
    -        return $this->withTablePrefix(new Query\Grammar);
    +        return $this->withTablePrefix(new QueryGrammar);
         }
    
         /**
          * Get the default schema grammar instance.
          *
    -     * @return SchemaGrammar
    +     * @return \Illuminate\Database\Grammar
          */
         protected function getDefaultSchemaGrammar()
         {
    -        return $this->withTablePrefix(new Schema\Grammar);
    +        return $this->withTablePrefix(new SchemaGrammar);
         }
    
         /**
          * Get a new query builder instance.
    +     *
    +     * @return \SingleStore\Laravel\Query\Builder
          */
         public function query()
         {
    -        return new Query\Builder(
    -            $this, $this->getQueryGrammar(), $this->getPostProcessor()
    +        return new QueryBuilder(
    +            $this,
    +            $this->getQueryGrammar(),
    +            $this->getPostProcessor()
             );
         }
     }
    

    Do you like static analysis?

    opened by szepeviktor 6
  • Laravel can't find singlestore driver

    Laravel can't find singlestore driver

    First of all, congrats on the package release!

    I've found a bug the following bug. image

    This gets thrown if you use database as your cache driver. In this case it was thrown because the RouteServiceProvider.php uses rate limiting which uses cache which uses the database.

    My guess is that the RouteServiceProvider gets processed before the SingleStoreServiceProvider.

    For the people running into this issue, you can solve it by adding the SingleStoreProvider code to your AppServiceProvider. Note: this is a temporary fix! image

    opened by larskoole 6
  • php artisan migrate:fresh doesn't work

    php artisan migrate:fresh doesn't work

    As the title states, the command php artisan migrate:fresh doesn't work.

    This also impacts unit tests which use the RefreshDatabase trait.

    The error: SQLSTATE[HY000]: General error: 1295 This command is not supported in the prepared statement protocol yet (SQL: SHOW FULL TABLES WHERE table_type = 'BASE TABLE')

    image
    opened by larskoole 5
  • problem with transactions

    problem with transactions

    An error occurs when trying multiple transactions at once.

    "message": "There is already an active transaction",
    "exception": "PDOException",
    

    example code

            DB::beginTransaction();
            MarketingAgreementLog::create([
                'user_id' => 1,
                'is_agreement' => true,
                'type' => 'update_profile',
            ]);
            DB::rollBack();
    
            DB::beginTransaction();
            MarketingAgreementLog::create([
                'user_id' => 1,
                'is_agreement' => true,
                'type' => 'update_profile',
            ]);
            DB::rollBack();
    
            DB::beginTransaction();
            MarketingAgreementLog::create([
                'user_id' => 1,
                'is_agreement' => true,
                'type' => 'update_profile',
            ]);
            DB::commit();
    

    The code below works normally on mysql, but an error occurs on singlestore.

    Is it a natural result due to the difference between single store and mysql?

    Or is it an error that needs to be corrected?

    environment

    php 8.1.13 laravel 9.45 singlestoredb-laravel 1.4.1 singlestore db version 8.0.4

    opened by anym0re 3
  • Add support for the

    Add support for the "change"-function

    It would be great if this feature was supported.

    As I understand, the following would have to be done in order to change a field (This example changes a field called "name" from a varchar to text):

    1. Add a column of the desired type (ALTER TABLE table_name ADD COLUMN field2 TEXT CHARACTER SET utf8mb4 DEFAULT NULL COLLATE utf8mb4_unicode_ci; )
    2. Fill values in this column with the column you want to change the data type (UPDATE table_name SET name2 = name;)
    3. Remove the previous column (ALTER TABLE table_name DROP COLUMN name;)
    4. Change the name of the new column (ALTER TABLE table_name CHANGE name2 name;)

    Would it be possible to implement this? Or is there already another way to do this?

    enhancement good first issue help wanted 
    opened by 4ice 6
Releases(v1.4.1)
  • v1.4.1(Dec 19, 2022)

    What's Changed

    • Changed definitions of overridden functions to match the original by @AdalbertMemSQL in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/49

    Full Changelog: https://github.com/singlestore-labs/singlestoredb-laravel-driver/compare/v1.4.0...v1.4.1

    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Dec 8, 2022)

    What's Changed

    • add rename table support by @xdroidteam in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/47
    • update workflows to pinned ubuntu version by @carlsverre in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/48

    New Contributors

    • @xdroidteam made their first contribution in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/47

    Full Changelog: https://github.com/singlestore-labs/singlestoredb-laravel-driver/compare/v1.3.0...v1.4.0

    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Dec 2, 2022)

    What's Changed

    • Add support for whereFullText by @fgilio in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/30

    Full Changelog: https://github.com/singlestore-labs/singlestoredb-laravel-driver/compare/v1.2.2...v1.3.0

    Source code(tar.gz)
    Source code(zip)
  • v1.2.2(Dec 1, 2022)

    What's Changed

    • Fixed incorrect generation of union queries by @AdalbertMemSQL in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/46

    Full Changelog: https://github.com/singlestore-labs/singlestoredb-laravel-driver/compare/v1.2.1...v1.2.2

    Source code(tar.gz)
    Source code(zip)
  • v1.2.1(Nov 29, 2022)

    What's Changed

    • Cleanup, formatting, tests by @carlsverre in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/42
    • Fixed the json_type is not a function error. by @AdalbertMemSQL in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/45

    New Contributors

    • @AdalbertMemSQL made their first contribution in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/45

    Full Changelog: https://github.com/singlestore-labs/singlestoredb-laravel-driver/compare/v1.2.0...v1.2.1

    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Oct 20, 2022)

    What's Changed

    • Add empty Sort Key support by @srdante in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/36

    Full Changelog: https://github.com/singlestore-labs/singlestoredb-laravel-driver/compare/v1.1.0...v1.2.0

    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Sep 21, 2022)

    What's Changed

    • Sort key direction support improvement by @srdante in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/28
    • Implement Sort Key per-column direction feature by @srdante in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/29

    Full Changelog: https://github.com/singlestore-labs/singlestoredb-laravel-driver/compare/v1.0.3...v1.1.0

    Source code(tar.gz)
    Source code(zip)
  • v1.0.3(Sep 20, 2022)

    What's Changed

    • Add withoutPrimaryKey method for increment columns by @srdante in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/26
    • Implement with statement for sortKey by @srdante in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/25

    Full Changelog: https://github.com/singlestore-labs/singlestoredb-laravel-driver/compare/v1.0.2...v1.0.3

    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Sep 16, 2022)

    What's Changed

    • Upgrade and fix singlestore image by @carlsverre in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/27
    • Implement sortKey direction argument by @srdante in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/24
    • Improvements to the README

    New Contributors

    • @srdante made their first contribution in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/24

    Full Changelog: https://github.com/singlestore-labs/singlestoredb-laravel-driver/compare/v1.0.1...v1.0.2

    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Aug 24, 2022)

    What's Changed

    • 📝 updated shard key singlestore documentation link by @DanielFerguson in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/14
    • Fix Sparse Modifiers by @aarondfrancis in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/20

    New Contributors

    • @DanielFerguson made their first contribution in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/14

    Full Changelog: https://github.com/singlestore-labs/singlestoredb-laravel-driver/compare/v1.0.0...v1.0.1

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Jun 30, 2022)

    This is the first release of the 1 series! 🎉 Thank you to all the folks who helped us beta test the 0 series.

    What's Changed

    • The package name has changed from singlestore/singlestore-laravel to singlestoredb/singlestoredb-laravel. Note the additional db. If you used the zero series, you'll need to remove the old package and require the new one.
    • Drop tables one by one by @fgilio in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/8
    • Add Laravel Pint by @aarondfrancis in https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/12

    Full Changelog: https://github.com/singlestore-labs/singlestoredb-laravel-driver/compare/v0.0.3...v1.0.0

    Source code(tar.gz)
    Source code(zip)
  • v0.0.3(Jun 9, 2022)

    What's Changed

    • Mention how to use it for failed jobs storage by @fgilio in https://github.com/singlestore-labs/singlestore-laravel-driver/pull/6
    • Use client-side prepared statements by @fgilio in https://github.com/singlestore-labs/singlestore-laravel-driver/pull/7

    Full Changelog: https://github.com/singlestore-labs/singlestore-laravel-driver/compare/v0.0.2...v0.0.3

    Source code(tar.gz)
    Source code(zip)
  • v0.0.2(Jun 8, 2022)

    What's Changed

    • Add Package Auto-Discovery by @fgilio in https://github.com/singlestore-labs/singlestore-laravel-driver/pull/5

    New Contributors

    • @fgilio made their first contribution in https://github.com/singlestore-labs/singlestore-laravel-driver/pull/5

    Full Changelog: https://github.com/singlestore-labs/singlestore-laravel-driver/compare/v0.0.1...v0.0.2

    Source code(tar.gz)
    Source code(zip)
  • v0.0.1(May 31, 2022)

Owner
SingleStore Labs
The home of SingleStore community content
SingleStore Labs
UnionPay driver for the Omnipay PHP payment processing library

Omnipay: UnionPay UnionPay driver for the Omnipay PHP payment processing library Omnipay is a framework agnostic, multi-gateway payment processing lib

Loki Else 111 May 18, 2022
First Data driver for the Omnipay PHP payment processing library

Omnipay: First Data First Data driver for the Omnipay PHP payment processing library Omnipay is a framework agnostic, multi-gateway payment processing

The League of Extraordinary Packages 20 Oct 23, 2022
vPOS Official Wordpres WooCommerce Plugin

vPOS - WooCommerce The number #1 payment solution in Angola This plugin currently works for the solutions listed below: EMIS GPO (Multicaixa Express)

vPOS 7 Jun 13, 2022
Okex API Like the official document interface, Support for arbitrary extension.

It is recommended that you read the official document first Okex docs https://www.okex.com/docs/en Okex Simulation Test API https://www.okex.com/docs/

lin 34 Jan 1, 2023
This is the official place where Nemesysco's LVA7 and QA7 dockers will be hosted and maintained

LVA-Dockers This is the official place where Nemesysco's LVA7 and QA7 dockers will be hosted and maintained - It is still under construction! We are w

null 2 Feb 17, 2022
Phalcon official Forum

Phosphorum 3 Phosphorum is an engine for building flexible, clear and fast forums. You can adapt it to your own needs or improve it if you want. Pleas

The Phalcon PHP Framework 361 Dec 27, 2022
Api.video-wordpress-plugin - The official api.video plugin for WordPress

api.video WordPress Plugin api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managin

api.video 5 Oct 19, 2022
Official OpenMage LTS codebase | Migrate easily from Magento Community Edition in minutes

Official OpenMage LTS codebase | Migrate easily from Magento Community Edition in minutes! Download the source code for free or contribute to OpenMage LTS | Security vulnerability patches, bug fixes, performance improvements and more.

OpenMage 782 Jan 3, 2023
Official Kraken.io Magento Extension

Kraken.io Magento Extension Advanced optimization for your Magento JPEG, PNG, GIF and SVG images Established in 2012, Kraken.io is an industry-leading

Kraken.io Image Optimizer 21 Nov 30, 2022
A plugin manager for PocketMine-MP downloads plugin from PocketMine-MP official plugin repository

oh-my-pmmp A plugin manager for PocketMine-MP Getting Started Prerequisites Your server MUST RUN the latest version of PocketMine. Installation From P

thebigcrafter 6 Jan 4, 2023
My last contribution to Vasar, the final official PocketMine core.

Vasar v5.0 Incomplete and entirely hardcoded. For PocketMine 4.X.X. Many thanks to Prim for plenty of help over the years which basically formed this

null 13 Dec 31, 2022
Laravel Blog Package. Easiest way to add a blog to your Laravel website. A package which adds wordpress functionality to your website and is compatible with laravel 8.

Laravel Blog Have you worked with Wordpress? Developers call this package wordpress-like laravel blog. Give our package a Star to support us ⭐ ?? Inst

Binshops 279 Dec 28, 2022
A Simple Linode SDK built for Laravel with @JustSteveKing laravel-transporter package

linode client A Simple Linode client built for Laravel with @JustSteveKing laravel-transporter package Installation You can install the package via co

Samuel Mwangi 2 Dec 14, 2022
A Laravel Wrapper for the Binance API. Now easily connect and consume the Binance Public & Private API in your Laravel apps without any hassle.

This package provides a Laravel Wrapper for the Binance API and allows you to easily communicate with it. Important Note This package is in early deve

Moinuddin S. Khaja 7 Dec 7, 2022
Laravel Podcast Manager is a complete podcast manager package for Laravel 5.3+ that enables you to manage RSS feeds for your favorite podcasts and listen to the episodes in a seamless UI.

laravelpodcast | A Laravel podcast manager package - v0.0.8 Introduction Laravel Podcast Manager is a complete podcast manager package for Laravel 5.3

Jeremy Kenedy 22 Nov 4, 2022
Laravel-htaccess - a package for dynamically edit .htaccess in laravel

laravel-htaccess a package for dynamically edit .htaccess in laravel use RedirectHtaccess Facade function for add RedirectHtaccess()->add(); return in

Mohammad khazaee 3 Dec 19, 2021
Laravel & Google Drive Storage - Demo project with Laravel 6.x and earlier

Laravel & Google Drive Storage Demo project with Laravel 8.X Look at the commit history to see each of the steps I have taken to set this up. Set up t

null 23 Oct 3, 2022
Empower your business to accept payments globally, earn rewards and invest in crypto with lazerpay laravel sdk in your laravel project.

Lazerpay Laravel Package pipedev/lazerpay is a laravel sdk package that access to laravel api Installation PHP 5.4+ and Composer are required. To get

Muritala David 24 Dec 10, 2022
Laravel package for Mailjet API V3 and Laravel Mailjet Mail Transport

Laravel Mailjet Laravel package for handling Mailjet API v3 using this wrapper: https://github.com/mailjet/mailjet-apiv3-php It also provides a mailje

Mailjet 76 Dec 13, 2022