我有一个我见过的最离奇的场景。我在虚拟服务器上有一个托管网站,其中Rails 3.2,Ruby 1.9和MySQL 5.1使用InnoDB但不是每个表。突然间,没有明显的理由(我可以把手指放在上面)数据库中每个表的所有数据都消失了。仅受影响的ONLY表是仅由Rails创建和维护的迁移表。
疯狂的是所有的表定义都很好,包括索引定义。问题发生之后,我可以向任何表添加更多数据,但数据刚好存在。我确实有一个我可以恢复的前一天数据转储,但从那时起我已经做了一些工作,我也想保留。
有没有人碰到过这个?对可能导致这种情况的任何想法都会有所帮助。我在MySQL InnoDB论坛上发布了此消息,并且在过去24小时内没有回复。 Rails是否可能有可能产生这种症状的打嗝?
答案 0 :(得分:-1)
我既放心又尴尬。不知何故,我的dev m / c上我的rails站点根目录下的'db'目录被移动到'app'目录。然后我将'app'目录的tar版本复制到我的远程托管站点。所以在远程站点,rails根目录下有一个'db'目录,'app'下有一个'db'目录。
令人惊奇的是,该站点继续在dev m / c上正常工作,但由于重复目录而破坏了远程m / c上的mysql数据库。
我非常想了解为什么远程m / c上'app'目录中存在重复的'db'目录会导致上述问题。我本来希望Rails只需在rails根目录下查找'db'目录,并忽略app下的重复目录。
事实上,我原本期望该网站不会加载到我的本地dev m / c,因为'db'目录不再位于rails根目录下,而rails一直在寻找它。
任何方式我都认为我会记下我的愚蠢,以防其他人因为这个奇怪的球问题而被击中。