Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

mihiran's avatar

Lumen migration error mysql 5.7 hosted on azure db

I am going to the php artisan migrate on lumens.Database is microsoft azure sql database.It gives this error

[previous exception] [object] (PDOException(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1231 Variable 'sql_mode' can't be set to t he value of 'NO_AUTO_CREATE_USER' at /var/www/html/vendor/illuminate/database/Connectors/MySqlConnector.php:170) [stacktrace] #0 /var/www/html/vendor/illuminate/database/Connectors/MySqlConnector.php(170): PDOStatement->execute() #1 /var/www/html/vendor/illuminate/database/Connectors/MySqlConnector.php(39): Illuminate\Database\Connectors\MySqlConnector->setModes() #2 /var/www/html/vendor/illuminate/database/Connectors/ConnectionFactory.php(184): Illuminate\Database\Connectors\MySqlConnector->connect() #3 [internal function]: Illuminate\Database\Connectors\ConnectionFactory->Illuminate\Database\Connectors\{closure}() #4 /var/www/html/vendor/illuminate/database/Connection.php(926): call_user_func() #5 /var/www/html/vendor/illuminate/database/Connection.php(961): Illuminate\Database\Connection->getPdo() #6 /var/www/html/vendor/illuminate/database/Connection.php(405): Illuminate\Database\Connection->getReadPdo() #7 /var/www/html/vendor/illuminate/database/Connection.php(331): Illuminate\Database\Connection->getPdoForSelect() #8 /var/www/html/vendor/illuminate/database/Connection.php(664): Illuminate\Database\Connection->Illuminate\Database\{closure}() #9 /var/www/html/vendor/illuminate/database/Connection.php(631): Illuminate\Database\Connection->runQueryCallback() #10 /var/www/html/vendor/illuminate/database/Connection.php(339): Illuminate\Database\Connection->run() #11 /var/www/html/vendor/illuminate/database/Schema/MySqlBuilder.php(18): Illuminate\Database\Connection->select() #12 /var/www/html/vendor/illuminate/database/Migrations/DatabaseMigrationRepository.php(169): Illuminate\Database\Schema\MySqlBuilder->hasTable() #13 /var/www/html/vendor/illuminate/database/Migrations/Migrator.php(608): Illuminate\Database\Migrations\DatabaseMigrationRepository->repositoryExi sts() #14 /var/www/html/vendor/illuminate/database/Console/Migrations/MigrateCommand.php(93): Illuminate\Database\Migrations\Migrator->repositoryExists() #15 /var/www/html/vendor/illuminate/database/Console/Migrations/MigrateCommand.php(64): Illuminate\Database\Console\Migrations\MigrateCommand->prep areDatabase() #16 /var/www/html/vendor/illuminate/database/Migrations/Migrator.php(541): Illuminate\Database\Console\Migrations\MigrateCommand->Illuminate\Datab ase\Console\Migrations\{closure}() #17 /var/www/html/vendor/illuminate/database/Console/Migrations/MigrateCommand.php(81): Illuminate\Database\Migrations\Migrator->usingConnection() #18 /var/www/html/vendor/illuminate/container/BoundMethod.php(36): Illuminate\Database\Console\Migrations\MigrateCommand->handle() #19 /var/www/html/vendor/illuminate/container/Util.php(37): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() #20 /var/www/html/vendor/illuminate/container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure() #21 /var/www/html/vendor/illuminate/container/BoundMethod.php(37): Illuminate\Container\BoundMethod::callBoundMethod() #22 /var/www/html/vendor/illuminate/container/Container.php(596): Illuminate\Container\BoundMethod::call() #23 /var/www/html/vendor/illuminate/console/Command.php(134): Illuminate\Container\Container->call() #24 /var/www/html/vendor/symfony/console/Command/Command.php(298): Illuminate\Console\Command->execute() #25 /var/www/html/vendor/illuminate/console/Command.php(121): Symfony\Component\Console\Command\Command->run() #26 /var/www/html/vendor/symfony/console/Application.php(1005): Illuminate\Console\Command->run() #27 /var/www/html/vendor/symfony/console/Application.php(299): Symfony\Component\Console\Application->doRunCommand() #28 /var/www/html/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun() #29 /var/www/html/vendor/illuminate/console/Application.php(93): Symfony\Component\Console\Application->run() #30 /var/www/html/vendor/laravel/lumen-framework/src/Console/Kernel.php(116): Illuminate\Console\Application->run() #31 /var/www/html/artisan(35): Laravel\Lumen\Console\Kernel->handle() #32 {main} "}

In Connection.php line 671:

SQLSTATE[42000]: Syntax error or access violation: 1231 Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER' (SQL: select * from information_schema.tables where table_schema = backend and table_name = migrations and table_type = 'BASE TABLE')

In MySqlConnector.php line 170:

SQLSTATE[42000]: Syntax error or access violation: 1231 Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'

0 likes
5 replies
Sinnbeck's avatar

I have never used it, but as it is microsoft, I would assume that it uses sqlsrv not mysql syntax. So try using that driver instead.

mihiran's avatar

@Sinnbeck Thanks for your reply. The Lumen backend application successfully connected to the database. The application is in the azure kubernetes cluster. The error was occured when I went to run the php artisan migrate command

Sinnbeck's avatar

@mihiran Then I assume this statement is incorrect "microsoft azure sql database". It is then a mysql server hosted on azure?

Maybe then try disabling strict_mode and see if that changes anything.

In the database config file

'strict' => false,
Sinnbeck's avatar

@mihiran You can also try setting the version of the database in case lumen cannot detect it

'version' => '5.7',

Please or to participate in this conversation.