关于如何每天重新加载演示站点数据库的想法

时间:2011-04-07 17:29:28

标签: database grails

我有一个演示网站,用户可以登录网站并更改所有内容,包括页面以及如何登录的说明:)

显然我不能在不重建数据库的情况下离开这个网站,或者生病链接到goatse ,然后再知道它。

我对最简单的方法持开放态度。

我正在运行在后台使用hibernate的grails。我想知道是否删除所有表的proc,并重新插入数据将使hibernate抛出。

另一个选择是运行一个石英作业以编程方式删除所有内容并重新插入它,但问题是它很容易通过站点管理界面设置初始版本,所以id通过以下方式做了很多工作服务

2 个答案:

答案 0 :(得分:1)

DBUnit - http://dbunit.sourceforge.net/

由于您的网站实际上是一个“测试”网站,并且您希望它恢复到一个众所周知的状态,它可能是您的正确答案。

答案 1 :(得分:1)

假设您使用MySQL使用操作系统的计划工具设置作业

使用要将数据库带到每天的状态的sql转储来运行mysql客户端。我已经在grails应用程序上完成了此操作并且没有问题,尽管如果用户在数据库恢复时尝试访问该站点时可能会遇到问题。当我的grails应用程序运行时,我从转储重新创建数据库时,在数据库恢复后访问它时没有任何问题。如果您不使用mysql,则应该应用相同的指令,您只需使用特定于您的数据库的方法。当我这样做时,我没有删除并创建实际的数据库,我只是删除并重新创建了所有数据库表。