在我们支持的应用程序中,我们需要有“真实的演示数据”,以便我们的销售人员在演示和销售中使用。
我们目前有一个rake任务,每天重置一次演示数据,但是它确实非常低效和缓慢(大约需要5-10分钟)
我肯定有一些方法可以优化生成演示数据的代码(我正计划这样做),但我认为可能有一种更好的方法来实现这一点……
我希望做的是获取重置的输出(即获取原始SQL)。我希望这样我就可以制定一个计划任务,每天将演示数据直接重置到DB中,而不是加载整个Rails环境并执行一堆ruby方法。
这样,为了更新我的SQL,我只能在演示数据的性质发生变化时运行缓慢的任务(这种情况非常少见)。
这是最好的方法吗?如何才能以一种好的格式获取SQL?
发布于 2011-02-14 08:14:42
这似乎是一个很好的解决方案!如果你一点资产都没有,那就做个简单的抛售。在mysql中
mysqldump -uUSER -pPASSWORD [other params] DATABASE > yourdumpfile.sql和恢复
mysql -uUSER -pPASS DATABASE < yourdumpfile.sqlhere是一个有用的rake任务,你可以使用它。再见
发布于 2011-02-14 09:36:27
我不能通过你的问题来判断,但是你的rake任务是否使用了一些rails特定的方式来创建数据?例如,像faker这样的宝石?假设你是,我会回答的。
如果您正在考虑保存并重新运行faker (或类似的东西)创建的sql,那么我会说这不是一个好主意。您说数据很少更改,所以在这种罕见的情况下,就使用您的rails环境。
但是一旦你有了需要的数据,你就按照@andrea的建议去做,转储数据并恢复它。
https://stackoverflow.com/questions/4987643
复制相似问题