<?php require dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'; use Doctrine\ORM\Tools\Console\ConsoleRunner; //create database if not exists $mysqlConfig = NwApi\Libraries\Config::getInstance('mysql'); $mysqli = new mysqli($mysqlConfig->host, $mysqlConfig->user, $mysqlConfig->password, '', $mysqlConfig->port); if (!$mysqli->query('CREATE DATABASE IF NOT EXISTS ' . $mysqli->real_escape_string($mysqlConfig->database))) { throw new Exception('Unable to create database'); } return ConsoleRunner::createHelperSet(NwApi\Di::getInstance()->em);
<?php use Doctrine\ORM\Tools\Setup; use Doctrine\ORM\EntityManager; $mysqlConfig = NwApi\Libraries\Config::getInstance('mysql'); $di = NwApi\Di::getInstance(); $isDevMode = true; $annotationConfig = Setup::createAnnotationMetadataConfiguration([$di->entitiesPath], $isDevMode, null, null, false); if ($di->env === ENV_DEVELOPMENT) { $annotationConfig->setSQLLogger($di->sqlLogger); } return EntityManager::create(['driver' => 'mysqli', 'user' => $mysqlConfig->user, 'password' => $mysqlConfig->password, 'host' => $mysqlConfig->host, 'port' => $mysqlConfig->port, 'dbname' => $mysqlConfig->database, 'charset' => 'utf8mb4'], $annotationConfig);