In addition to use an auto-increment key as the primary key, you may also use UUID columns. CakePHP will create a unique 36 character UUID (
Cake\Utility\Text::uuid()
) whenever you save a new record using theTable::save()
method.
From the book;
https://book.cakephp.org/3.0/en/intro/conventions.html#model-and-database-conventions
So if you create your primary key field as char(36) , cakePHP3 will generate unique uuids rather than the stand auto-incremented 1,2,3 4 keys
Credit to stackoverflow again;
http://stackoverflow.com/questions/34519770/cakephp-3-save-function-not-generating-primary-key-for-database