How to implement partition in laravel database migration
<p>Using Laravel 5.3 how can I implement partition. Following is the mysql table structure I'm trying to add in migration.</p>

<pre><code>CREATE TABLE `settings` (
    `id` INT(10) unsigned NOT NULL AUTO_INCREMENT,
    `client_id` INT(11) NOT NULL,
    `key` VARCHAR(255) COLLATE utf8_unicode_ci NOT NULL,
    `value` TEXT COLLATE utf8_unicode_ci NOT NULL,
    `created_at` TIMESTAMP NULL DEFAULT NULL,
    `updated_at` TIMESTAMP NULL DEFAULT NULL,
    PRIMARY KEY `settings_id_primary` (`client_id`, `id`),
    UNIQUE KEY `settings_key_unique` (`client_id`, `key`),
    KEY `settings_id_key` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci PARTITION BY KEY (`client_id`) PARTITIONS 50;
</code></pre>

<p>Below is what I tried so far, but this is only adding columns &amp; keys.</p>

<pre><code>    Schema::create('settings', function(Blueprint $table) {
        $table-&gt;integer('id'); // I can't use increments, because throwing an error when I try to add primary key below
        $table-&gt;integer('client_id');
        $table-&gt;string('key');
        $table-&gt;text('value');
        $table-&gt;timestamps();

        $table-&gt;primary(['client_id', 'id']);
        $table-&gt;unique(['client_id', 'key']);
    });
</code></pre>

<p>How can I do the partition? If there migration doesn't support partition. Is there way I can dump the whole SQL query in the migration and run.</p>