sausin/laravel-set-autoincrement

Package to help with update of auto increment for database tables in laravel

v0.3.3 2021-07-11 05:49 UTC

This package is auto-updated.

Last update: 2024-10-11 13:03:27 UTC


README

Latest Version on Packagist Total Downloads Quality Score License: MIT

Wanted to easily set the starting ID for your models? This package makes it easy as a breeze! It's also possible to change auto increment on existing databases (i.e. new entries will start from the specified number).

Installation

Run the below command in your Laravel project root.

composer require sausin/laravel-set-autoincrement

This will install the latest version of the package for you. The service provider will automatically register and make available the features of the package (which work automatically).

Configuration

The default configuration will set the package such that except a few tables, the AUTO_INCREMENT counter will be set at 100001 (one hundred thousand and one).

To change the starting value and the tables affected by it, the configuration can be published using

php artisan vendor:publish

and then the option which corresponds to Sausin\DBSetAutoIncrement\AutoIncrementServiceProvider needs to be selected. This will add a config named auto-increment.php in your project's config folder.

Change the values as desired.

Usage

Default Behavior

It will run every time migrations are finished running, whether for the first time or incremental. All tables where the AUTO_INCREMENT value is higher than the value in the config will be left alone. Changes will be made in all the rest.

If, however, automatic updation behaviour is not desired, the action key in the config file can be changed to manual and the package will not take automatic action.

Command line

Using the below command

php artisan db:set-auto-increment --tables=users --value=20001

the auto increment value can be changed manually. Multiple tables are accepted as input.

Supported SQL Drivers

Currently mysql and sqlite are supported. Plan to have support for more drivers in future.