优化重置演示数据

时间:2011-02-13 23:33:05

标签: ruby-on-rails

在我们支持的其中一个应用中,我们需要为销售人员提供“真实的演示数据”,以便用于演示和销售。

我们目前有一个rake任务,每天重置一次这个演示数据,但它真的非常低效和缓慢(需要大约5到10分钟才能运行)

我肯定有一些方法可以优化生成演示数据的代码(我打算这样做),但我认为可能有更好的方法来完成这个......

我希望做的是获取重置的输出(即获取原始SQL)。我希望我可以做一个计划任务,每天将演示数据直接重置到数据库,而不必加载整个Rails环境并执行一堆ruby方法。

这样我只能在演示数据的性质发生变化时才会运行慢速任务(这是非常罕见的),以便更新我的SQL。

这是最好的方法吗?我怎样才能以漂亮的格式获取SQL?

2 个答案:

答案 0 :(得分:1)

这似乎是一个很好的解决方案!如果你没有任何资产,那就简单地做一个转储a.e.在 mysql

mysqldump -uUSER -pPASSWORD [other params] DATABASE > yourdumpfile.sql

并恢复

mysql -uUSER -pPASS DATABASE < yourdumpfile.sql

here您可以使用的有用的佣金任务。 再见

答案 1 :(得分:0)

我无法通过您的问题判断,但是您的rake任务是使用某些特定于rails的创建数据的方法吗?例如,像faker这样的宝石?假设你是,我会回答。

如果您正在考虑保存并重新运行faker(或类似的东西)创建的sql,那么我会说这是一个坏主意。你说数据很少改变,所以在极少数情况下只使用你的rails环境。

但是一旦掌握了数据,就需要使用@andrea建议的内容并转储数据并将其恢复。