首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在现有的drupal数据库中添加前缀以供单一站点使用?

如何在现有的drupal数据库中添加前缀以供单一站点使用?
EN

Drupal用户
提问于 2013-03-20 15:07:47
回答 3查看 3.8K关注 0票数 2

我有一个drupal 7站点运行在一个was服务器上,它目前使用的是一个没有前缀的数据库。

我正在尝试从共享主机提供程序将该数据库还原到一个新的drupal实例。我正在使用备份和恢复模块来移动数据库。我无法明显控制的一件事是,他们的“快速安装脚本”创建了一个带有"drupal_“前缀的新drupal数据库。

我是否需要将我现有的数据库转换成具有该前缀,因为现在看来,我迁移的更改甚至没有被读取,因为它可能同时拥有两个站点的数据,并且我想要从其中读取条目的数据库信息没有前缀?这推理正确吗?如果是这样的话,我如何将我的Drupal数据库转换成相同的数据库,但现在使用必要的前缀呢?

EN

回答 3

Drupal用户

回答已采纳

发布于 2014-07-29 20:48:41

如果您有phpMyAdmin,最简单的方法是:

  • 转到"Structure“选项卡(其中有表列表)。
  • 选择所有表(列表末尾的“所有”复选框)
  • 在下拉列表中,靠近"Check All“选择"Add table前缀”(如果情况是“替换表前缀”)
  • 插入前缀,按下按钮,让它做所有的工作。

之后,请记住在site\default\settings.php中指定前缀

代码语言:javascript
复制
array (
  'database' => 'sample_drupal_db',
  'username' => 'sample_drupal_usr',
  'password' => 'sample_drupal_pwd',
  'host' => 'localhost',
  'port' => '',
  'driver' => 'mysql',
  'prefix' => 'prefix_', // <<== prefix here
),
票数 3
EN

Drupal用户

发布于 2013-03-20 15:49:42

你的推理对我来说是正确的。您可以尝试编辑数据库转储,在所有表名中添加前缀,然后再次运行导入。这当然会奏效,但也很容易犯错,所以在你成功之前,你可能会有一些尝试和错误。

另一个选择是使用像phpMyAdmin这样的工具进入新数据库,删除前缀表并修改添加前缀的非前缀表。

第三种方法(可能与您使用的自动安装程序发生冲突,也可能不发生冲突)是编辑settings.php并从数据库数组中删除前缀。虽然这可能是目前最快的解决方案,但我不确定它是否会在ling运行中持续,例如,当自动安装程序进行升级时。

票数 1
EN

Drupal用户

发布于 2013-03-20 16:02:07

如果只是带有“drupal_”前缀的数据库,则不需要创建表前缀。

由备份和还原模块创建的数据库转储不包括任何数据库定义。

如果需要,可以提取mysqldump文件并将以下内容添加到文件的顶部:

代码语言:javascript
复制
CREATE DATABASE IF NOT EXISTS 'drupal_mydatabase';
USE 'drupal_mydatabase';

否则,只需在settings.php中更改数据库凭据,并使用备份和还原模块重新加载数据库。

票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/66148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档