不同模型间数据移动
本文以新闻模型中的数据移动到视频模型为例。
使用软件:navicat for mysql,phpmyadmin,access
步骤:
1、如果是要将数据移动到新建模型,那么就先建好模型,
2、如果是两个已有模型之间的数据移动忽略第一步。
3、使用phpmyadmin打开数据库,打开phpcms_model表,查看新闻和视频模型(本文是以这两个模型为例,不同的模型请对应打开)的modelid,并记下ID号,新闻的ID=1,视频的ID=11
4、使用phpmyadmin软件,打开phpcms_category表,将要移动数据的栏目modelid进行逐个修改。
注意:
子栏目之间的移动可在后台栏目管理中选择不同的一级栏目进行修改。
如果移动的数据栏目是子栏目,那么只需要找到子栏目,修改子栏目的modelid即可。如果是整个一级栏目要更改模型,那么修改栏目模型的时候要记住把一级栏目和该栏目下的所有子栏目模型ID进行修改。
5、修改完毕后,就是最关键的数据移动了,需要移动的数据存放在phpcms_c_news和phpcms_c_video两个表。由于两个表的字段不一样,所以并不是什么数据都可以转的。本人原先是用新闻模型做的视频,因而里面有视频链接。如果没有视频链接则转了也没什么意义。
两个表的字段分别为:
phpcms_c_video | phpcms_c_news | ||
字段 | 名称 | 字段 | 名称 |
contentid | ID | contentid |
ID |
template | 模板 | template | 模板 |
content | 内容 | titleintact |
完整标题 |
video | 视频 | content | 内容 |
director | 导演 | groupids_view |
用户组 |
actor | 演员 | readpoint |
阅读点数 |
rank | 推荐度 | author | 作者 |
photo | 剧照 | copyfrom | 来源 |
对比字段,ID、模板可以直接导入,内容可看情况导入,因为我的新闻模型中的内容是有视频链接,因而,我把新闻模型的内容字段与视频模型中的视频字段相对。
6、使用navicat for mysql可视化软件,打开本地服务器,然后将phpcms_c_news导出为access数据库。(这是因为access可方便地编辑)
打开导出的access数据库,打开表,最好先复制一份,以免出错后又要重新导出:)
注意:如果你新闻模型中有多个栏目,而你只要移动其中的某个或某几个栏目,那么数据是要挑选的,这就是导出为access数据库的好处,可以直接复制删除。
把要移动的数据保留下来,不需要移动的数据删除。要十分小心哦,删除后无法恢复,如果删除错了就得从头来过。
7、使用navicat for mysql可视化软件,打开本地服务器,然后将access数据库中保留了移动数据的表导入phpcms_c_video,只需要导入对应字段就可以。本例中导入了三个字段。
两个模型使用的模板是不一样的,新闻使用的是show模板,而视频使用的是show_viedo模板。可以在access数据库中用替换的方式替换,也可在导入后进入后台——系统设置——数据库管理——字符串替换,进行替换。
8、重复每六点,将新闻模型中要移动的数据删除,再重复第七点,将删除了要移动数据的access数据库表导回phpcms_c_news。
至此,要移动的数据就到了phpcms_c_video,而需要移动的数据也从phpcms_c_news删除了。
9、进入后台,更新html,更新缓存。
本地测试没有问题,本地测试完后,备份数据库,导入服务器也没问题,(导入服务器,需要说明的是,服务器中的模型要与本地的模型一致,再导数据。)