我想使用 CLI 使用以前安装的现有数据库安装 Drupal 8(以便在构建 Docker 容器时能够自动化该过程(。
因此,我首先执行composer
但随后我需要另一个命令来配置使用现有数据库的安装。
我注意到drush
有一个站点安装命令,该命令采用与数据库相关的选项,但我对其进行了测试,这只是为了设置数据库详细信息并创建新数据库。
在Drupal控制台中,我们现在可以使用新选项--default
在设置中自动设置默认数据库详细信息.php文件:
drupal database:add
--database=DATABASE
--username=USERNAME
--password=PASSWORD
--default
由于hash_salt
变量也必须在settings.php文件中设置,就像在手动安装中一样,我们需要使用drush
来执行此操作:
drush php:eval '
include_once DRUPAL_ROOT . "/core/includes/install.inc";
$settings["settings"]["hash_salt"] = (object) [
"value" => DrupalComponentUtilityCrypt::randomBytesBase64(55),
"required" => true,
];
drupal_rewrite_settings($settings);
'
安装和维护Drupal 8网站的推荐方法是使用作曲家:
https://www.drupal.org/docs/develop/using-composer/using-composer-to-install-drupal-and-manage-dependencies#download-core
然后,您必须添加之前使用的所有模块 - 还可以使用composer来安装它们。
然后只需将旧数据库导入新数据库(如果您更喜欢控制台 mysql 命令就可以解决问题,但 drush 也是有效的选项(。