实时web服务的更改和测试


Changes and testings on live web service

我创建了一个运行了一段时间的web服务。

与此同时,我购买了另一个域,在那里我从实时web服务导入并配置了所有脚本/数据库。

现在我有两个不同的域;一个我称之为LIVE,另一个我则称之为TEST。两个域现在都有相同的内容。

如果我想添加一个新功能,我会在TEST服务器上对其进行编码、调试并确保其正常工作。同时,我写下所有的更改,以帮助我在LIVE服务器上实现。

在LIVE服务器上推送更改后,我测试它们以检查是否一切正常。

问题:

1) 这个程序有效吗?有什么改进的建议吗?

2) 在某些情况下,测试涉及数据库中的更改(例如,如果我在注册表中进行了一些逻辑更改)。

  • 如何处理数据库中的测试条目?我要删除它们吗
  • 如果表中的真实数据(没有测试数据)一直到ID 40(1,2,3,…40),并且测试条目占据ID 41的位置,如果我删除ID 41的条目,那么下一个真实条目将占据ID 42的位置(因为ID是自动递增的)。删除测试条目后,如何重置ID计数器?现在,我使用以下内容:ALTERTABLE表名AUTO_INCREMENT=1并且它有效。我使用这个命令时,表上有任何站点效果吗?为什么这样有效?我将auto_increment设置为1,而不是41
  • 如果数据库中的条目有缺口,会有什么问题吗?(例如ID:1,2,4,5,…缺少ID=3)

ps:我使用PHP作为后端,MySQL(InnoDB)作为我的数据库。

提前谢谢。

Christos

这里要解决的两个问题:部署迁移

1) 拥有一个测试和生产服务器是可以的,但您也需要一种快速部署两者的方法。有很多选择:部署程序(http://deployer.org/)例如。

2) 像Laravel或Yii2这样的现代框架使用迁移来更新数据库结构的变化,测试条目无关紧要。在您的案例中,有一些工具可以在没有像Phinx这样的框架的情况下使用迁移(https://phinx.org/)