Simon.hu 发表于 2017-7-17 15:13:56

看完必恍然大悟的活字格内幕:十, “覆盖服务器数据库”发布网站

本帖最后由 Simon.hu 于 2017-8-8 12:10 编辑

这次的活字格易错问题,如果你遇到了,基本上可以断定你基本已经决定购买,或者你已经购买了,不知道我猜对了没有?说我猜错的同学,赶紧去买一套去 ^_^。这次的问题是一个比较大,又比较的好修改的问题,数据问题。
对于一个web信息系统来说,最最重要的其实是数据,数据是不容置疑的核心,而页面只是展示数据一个媒介,或者说页面是一个壳子,而数据是壳子里面包的核心是数据。
今天我就要给这个核心排一个雷,就是我们发布应用的时候,都会看到的一个默认反勾掉的选项,这个到底是做什么用的,什么时候用呢?

还是通过一个问题来进入今天的主题:
这里有一个周报的系统,团队里的所有人都会在这个系统中,录入本周的周报。

那我现在的周报系统里面的,表和页面大致是这样的

这个系统已经在测试使用,或者已经正式投入使用了一段时间了。现在发现了一个bug,这个”评论“里面文字不能存储,仔细检查后发现这个字段类型设置的有问题,以前因为疏忽,将”评论“设置成了数字类型了,现在我在设计修改了以后重新发布,发现数据还是不对啊?
问题描述:
修改了数据表里的字段类型,发布以后还是不能系统还是不能正常运行,即数据还是只能保存数字不能保存文字,为什么呢?
问题分析:
其实活字格的设计器和服务器是两个独立的数据库文件。 原因是我们的设计器一直存储的是测试数据,而服务器很有可能已经存储的是正式的数据了,所以这两套数据分离很有必要性。
对于这个问题,我们的解决办法十分的简单,就是覆盖服务器数据库勾上,然后在发布。
当然如果,真的是在使用的系统的话,你的操作步骤应该是,首先,通知所有的使用者,系统会在xxxx年xx月xx日 几点维护,等到那个时间段的时候,你先暂停服务器,然后用设计器获取服务器数据库数据,修改完了,以后在重新发布系统,这次勾上覆盖数据库发布。

其实所有的数据库修改操作,都需要这样重新发布。
什么叫所有的数据库修改,比如给一个表添加新的字段。修改一个表中某一个字段的类型,比如修改的表的关系,就是你可以理解为,你对一个数据表的任何操作,需要服务器上都相应的变化的话,那你在发布的时候都需要将这个选项勾上以后在发布。
另外,有很多的同学在使用的时候,会发现服务器的数据库中绝对有数据,但是在访问的时候,就是发现你的一个列表中就是一片空白,没有数据。找半天也找不到问题出现在哪里了,很有可能就是你修改了数据表结构以后,没有覆盖数据库发布,导致的。
PS:但是如果你的修改并没有涉及到数据表结构的修改的话,千万不要是勾选这个选项,因为如果勾选的话,很有可能你的真实数据就被你无情的覆盖了,而且很有可能都不能还原的。记得覆盖数据库发布之前,确定好你的服务器数据不再需要,或者已经在设计器中获取过了。
看看这个周报是不是效果,还不错

网站维护流程:
通知所有的使用者,系统会在xxxx年xx月xx日 几点维护----> 先暂停服务器,然后用设计器获取服务器数据库数据---->重新发布系统(勾上覆盖数据库发布)---->激活服务器。

504146555 发表于 2018-6-7 02:32:39

根据上述流程:现根据业务需要,须对数据库调整。1.先获取服务器的数据库数据,对当前的设计器的数据库更新;2.暂停服务器,让服务器提示“更新中”,暂停服务;3.然后在设计器重新修改数据库,再次覆盖数据库发布。问题来了:若程序需要很长时间开发(服务器又不能提示暂停使用),等到在设计器上开发好以后,原则上是必须再次获取服务器数据库的数据,然后覆盖发布。但这样的后果是设计器中新开发的数据库又被服务器上数据库覆盖了,新修改的表结构被还原。    针对这个情况(无法暂停服务),是不是需要通过SQL语句对服务器数据备份,再把数据导入到设计器的对应数据库后再发布(马上就要遇到这个情况了)?

Eric.Liang 发表于 2018-6-13 11:50:43

504146555 发表于 2018-6-7 02:32
根据上述流程:现根据业务需要,须对数据库调整。1.先获取服务器的数据库数据,对当前的设计器的数据库更新 ...

目前你可以在获取服务器数据之前将工程文件进行备份,比对备份工程文件和服务器获取下来的数据结构进行修改。修改完毕之后暂停服务器,发布,激活服务器。

豌豆琳 发表于 2018-7-23 10:54:13

我是这样理解的。
1、有关数据库结构(表增加字段、表修改字段、修改表间关联等),重新发布就需要勾选“覆盖服务器”
2、如无对数据库结构有修改,千万不得勾选“覆盖服务器”。

问题:如有改了数据库结构,需要勾选“覆盖服务器”,那之前的数据还在吗?

Simon.hu 发表于 2018-7-23 11:41:47

豌豆琳 发表于 2018-7-23 10:54
我是这样理解的。
1、有关数据库结构(表增加字段、表修改字段、修改表间关联等),重新发布就需要勾选“ ...

琳姐,之后的问题还是在求助中心中发帖吧。谢啦!

修改结构了,就需要先回去服务器数据在重新发布的。9月的版本,会解决这个问题的。
目前,你要是实在不放心的话,可以使用外联数据库来解决这个问题。
页: [1]
查看完整版本: 看完必恍然大悟的活字格内幕:十, “覆盖服务器数据库”发布网站