diff --git a/resources/stacks/drupal7/settings.local.php b/resources/stacks/drupal7/settings.local.php index 82d1f4d..283fbd8 100644 --- a/resources/stacks/drupal7/settings.local.php +++ b/resources/stacks/drupal7/settings.local.php @@ -35,8 +35,8 @@ 'driver' => 'mysql', 'host' => '127.0.0.1', 'port' => $port, - 'username' => 'mysql', - 'password' => 'mysql', + 'username' => '{{ mysql_user }}', + 'password' => '{{ mysql_password }}', 'database' => 'data', 'prefix' => '', ); diff --git a/resources/stacks/drupal8/settings.local.php b/resources/stacks/drupal8/settings.local.php index ccb00eb..c1c2575 100644 --- a/resources/stacks/drupal8/settings.local.php +++ b/resources/stacks/drupal8/settings.local.php @@ -39,8 +39,8 @@ 'driver' => 'mysql', 'host' => '127.0.0.1', 'port' => $port, - 'username' => 'mysql', - 'password' => 'mysql', + 'username' => '{{ mysql_user }}', + 'password' => '{{ mysql_password }}', 'database' => 'data', 'prefix' => '', 'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql', diff --git a/src/Docker/ComposeContainers.php b/src/Docker/ComposeContainers.php index f33a4c1..79514dd 100644 --- a/src/Docker/ComposeContainers.php +++ b/src/Docker/ComposeContainers.php @@ -4,6 +4,7 @@ use mglaman\PlatformDocker\Config; +use mglaman\PlatformDocker\Mysql\Mysql; use mglaman\PlatformDocker\Platform; use Symfony\Component\Yaml\Yaml; @@ -91,12 +92,16 @@ public function addDatabase() ], 'environment' => [ 'MYSQL_DATABASE' => 'data', - 'MYSQL_USER' => 'mysql', - 'MYSQL_PASSWORD' => 'mysql', 'MYSQL_ALLOW_EMPTY_PASSWORD' => 'yes', - 'MYSQL_ROOT_PASSWORD' => 'root,' + 'MYSQL_ROOT_PASSWORD' => Mysql::getMysqlRootPassword(), ], ]; + + $user = Mysql::getMysqlUser(); + if (strcasecmp($user, 'root') !== 0) { + $this->config['mariadb']['environment']['MYSQL_USER'] = $user; + $this->config['mariadb']['environment']['MYSQL_PASSWORD'] = Mysql::getMysqlPassword(); + } } /** diff --git a/src/Mysql/Mysql.php b/src/Mysql/Mysql.php new file mode 100644 index 0000000..058882b --- /dev/null +++ b/src/Mysql/Mysql.php @@ -0,0 +1,79 @@ +containerName, $localSettings); $localSettings = str_replace('{{ redis_container_name }}', $this->redisContainerName, $localSettings); $localSettings = str_replace('{{ project_domain }}', $this->projectName . '.' . $this->projectTld, $localSettings); - $localSettings = str_replace('{{ project_domain }}', $this->projectName . '.' . $this->projectTld, $localSettings); + $localSettings = str_replace('{{ mysql_user }}', Mysql::getMysqlUser(), $localSettings); + $localSettings = str_replace('{{ mysql_password }}', Mysql::getMysqlPassword(), $localSettings); file_put_contents(Platform::sharedDir() . '/settings.local.php', $localSettings); // Relink if missing.