我正在尝试构建一个小型rails应用程序,以游戏格式向初学者教授sql.它的一部分是一个命令行,其中的用途试图解决sql的问题.在后端我想对测试数据库运行他们的sql命令,并检查结果以查看他们的命令是否正确.
我目前的想法是为课程的每个阶段创建sqlite数据库,然后在每个用户到达该阶段时为该数据库创建该数据库的副本.
我认为这会奏效,但我担心效率.
我的问题是,是否有一种有效的方法让用户运行SQL命令(包括drop,alter等),得到结果,但实际上并没有对db本身进行任何更改,实质上是任意sql命令的干运行.我熟悉sqlite和postgres,但我对其他数据库开放.