【问题标题】:What is the best way to do testing database (MYSQL spesific)测试数据库的最佳方法是什么(特定于 MYSQL)
【发布时间】:2010-04-20 15:43:57
【问题描述】:

现在我正在测试数据库中的某些内容。这是一个wordpress数据库。我必须写入和删除并对其进行其他操作。如您所知,它具有索引机制,始终使每个新帖子都继承下一个可能的最高 ID。

请考虑此数据库是已使用数据库的副本。以前写过。 所以,我需要确保当我完成测试时,它会是一样的

目前,我唯一的解决方案是进行备份。因此,如果我在计划测试的某些部分结束了,我将备份它并在另一个副本上开始下一次测试。

幸运的是,数据库的大小只是很小的一个。所以删除,复制和备份会很容易。但我知道这种数据库测试方式只是部分解决方案。它迫使我创建太多备份副本。如果数据库更大,我不知道该怎么办。这将是一场漫长的测试噩梦。

所以我想知道是否有任何解决方案可以像回滚一样工作。所以它只会锁定数据库并将新条目作为某种缓存。 我可以将其擦除或写入数据库。

我使用 mysql 和 phpmyadmin 并用它来开发一些自定义解决方案。

编辑 ::: 开发 PHP 解决方案时如何有效地对数据库进行测试?

【问题讨论】:

    标签: php mysql database wordpress database-testing


    【解决方案1】:

    如果您的文件系统支持可写快照 - LVM、ZFS、Veritas 等 - 您可以获取整个数据库分区的即时副本,将其挂载到另一个位置,启动一个使用该快照的 MYSQL 新实例,执行您的测试,删除您的快照 - 所有这些都不会干扰您的副本。

    快照只需要存储测试期间更改的数据量,因此可能只需要几 GB。

    【讨论】:

      【解决方案2】:

      删除记录后,插入新记录时,如果将 id 设置为所需的数字,而不是将其留空,它应该再次填充该索引。

      【讨论】:

      • 是的,这很容易。但是,如果您必须每天工作近 8 小时,并且一次又一次地这样做;)顺便说一句,我认为您没有抓住重点。问题更多是关于如何有效地对数据库进行递归测试
      • 是的,我错过了 :) 祝你好运!
      【解决方案3】:

      帖子编号是自增字段吗?如果没有,请(暂时)侵入 WordPress 并查找存储新帖子的代码。在保存之前为什么不添加一个常量,例如1000张贴身份证号码。完成测试后,只需删除大于常量的 id 编号即可。

      【讨论】:

      • 不幸的是,它是。我真的不明白如何在mysql中操作。但可以肯定的是,每次我发帖然后删除一个帖子,下一个帖子都不会有上一个帖子的新 id。新帖子将始终具有唯一且更高的 ID 号。
      猜你喜欢
      • 2016-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      • 1970-01-01
      • 2023-03-15
      • 2020-12-25
      • 1970-01-01
      相关资源
      最近更新 更多