将 .sql 数据库迁移到 WordPress

Posted

技术标签:

【中文标题】将 .sql 数据库迁移到 WordPress【英文标题】:Migrating an .sql database to WordPress 【发布时间】:2018-06-22 05:33:39 【问题描述】:

我有一个来自旧的自定义博客 CMS 的数据库的 SQL 文件。我正在尝试将文章导入 WordPress,但我现在卡住了。到目前为止,我已经设法隔离了 CMS 的表结构(见下文)。我还确定了我需要的列。这些是(帖子、标题、日期、图像、类别)。现在我必须以某种方式将这些列映射到 Wordpress 架构中的某些列,这就是我卡住的地方。

数据库的SQL结构如下:

CREATE TABLE `ads_ng_ads` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `ad_type` enum('media','text','html') character set latin1 collate latin1_bin NOT NULL,
  `media_type` enum('image','flash','other') character set latin1 collate latin1_bin default NULL,
  `media_width` smallint(6) default NULL,
  `media_height` smallint(6) default NULL,
  `media_size` int(6) default NULL,
  `media_path` varchar(128) character set latin1 collate latin1_bin default NULL,
  `uri` varchar(128) character set utf8 collate utf8_bin NOT NULL,
  `is_hidden` tinyint(1) NOT NULL,
  `created_on` int(11) NOT NULL,
  `active_from` int(11) NOT NULL,
  `active_to` int(11) NOT NULL,
  `room_id` int(11) default NULL,
  `geo_target` int(11) default NULL,
  `alternative` text character set utf8 NOT NULL,
  `zone_target` text character set ascii collate ascii_bin NOT NULL,
  `uri_target` text character set utf8 collate utf8_bin NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `zone_target` (`is_hidden`,`active_from`,`active_to`,`geo_target`)
) ENGINE=MyISAM AUTO_INCREMENT=757 DEFAULT CHARSET=latin1;


CREATE TABLE `ads_ng_statistics` (
  `ad_id` int(10) unsigned NOT NULL,
  `date` int(11) NOT NULL,
  `views` mediumint(8) unsigned NOT NULL default '0',
  `clicks` mediumint(8) unsigned NOT NULL default '0',
  PRIMARY KEY  (`ad_id`,`date`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;




CREATE TABLE `countries` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(100) NOT NULL,
  `alias` varchar(3) NOT NULL,
  `restricted` tinyint(3) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=253 DEFAULT CHARSET=utf8;


CREATE TABLE `featured_column` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `date_modified` timestamp NOT NULL default CURRENT_TIMESTAMP,
  `date_created` timestamp NOT NULL default '1000-01-01 00:00:00',
  `title` varchar(255) NOT NULL,
  `alias` varchar(255) NOT NULL,
  `body` text NOT NULL,
  `body_html` text NOT NULL,
  `user_id` int(11) NOT NULL,
  `tags` varchar(255) NOT NULL,
  `summary` varchar(255) NOT NULL,
  `in_homepage` int(1) NOT NULL default '0',
  `img_title` int(1) NOT NULL default '0',
  `meta_t` varchar(255) NOT NULL,
  `meta_k` varchar(255) NOT NULL,
  `meta_d` varchar(255) NOT NULL,
  `public` int(1) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1381 DEFAULT CHARSET=utf8;

【问题讨论】:

只想说祝我的朋友好运 你可以查看这个答案来回答你的问题:wordpress.stackexchange.com/questions/49202/… 【参考方案1】:

假设您使用的是最新的 WordPress 版本(4.9.1),您只需创建一个脚本,将所有数据导入表 wp_posts,例如,如果您想导入为 WordPress 帖子。示例:“标题”到“post_title”,“帖子”到“post_content”等。

【讨论】:

以上是关于将 .sql 数据库迁移到 WordPress的主要内容,如果未能解决你的问题,请参考以下文章

sql Wordpress在迁移时重定向到旧站点。从数据库更新旧URL的所有发生。

wordpress网站迁移

将 wordpress 从域迁移到另一个域 - 但 URL 仍重定向到旧域

sql 迁移WordPress数据库

wordpress数据从一台主机迁移到另一台主机

将 Wordpress (MySQL) 数据库迁移到 BigQuery