如何使用现有数据库安装 Drupal 8?
How to install Drupal 8 with an existing database?
我想使用 CLI 使用先前安装的现有数据库安装 Drupal 8(为了能够自动化该过程,在我构建 Docker 容器的情况下) .
因此,我首先执行 composer
,但随后我需要另一个命令来使用现有数据库配置安装。
我注意到 drush
有一个 site-install 命令,它接受与数据库相关的选项,但我测试了它,这只是为了设置数据库详细信息并创建一个新数据库。
在 Drupal 控制台中,我们现在可以使用 new option --default
在 settings.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" => \Drupal\Component\Utility\Crypt::randomBytesBase64(55),
"required" => true,
];
drupal_rewrite_settings($settings);
'
安装和维护 Drupal 8 网站的推荐方法是使用 composer:
然后你必须添加你之前使用的所有模块 - 也使用 composer 来安装它们。
然后只需将旧数据库导入新数据库即可(如果您更喜欢控制台 mysql 命令即可,但 drush 也是有效选项)。
我想使用 CLI 使用先前安装的现有数据库安装 Drupal 8(为了能够自动化该过程,在我构建 Docker 容器的情况下) .
因此,我首先执行 composer
,但随后我需要另一个命令来使用现有数据库配置安装。
我注意到 drush
有一个 site-install 命令,它接受与数据库相关的选项,但我测试了它,这只是为了设置数据库详细信息并创建一个新数据库。
在 Drupal 控制台中,我们现在可以使用 new option --default
在 settings.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" => \Drupal\Component\Utility\Crypt::randomBytesBase64(55),
"required" => true,
];
drupal_rewrite_settings($settings);
'
安装和维护 Drupal 8 网站的推荐方法是使用 composer:
然后你必须添加你之前使用的所有模块 - 也使用 composer 来安装它们。
然后只需将旧数据库导入新数据库即可(如果您更喜欢控制台 mysql 命令即可,但 drush 也是有效选项)。