这是我第一次需要制作演示站点(用PHP中的一些示例数据和PostgresSql完成)。目前我们允许用户登录并执行网站上提供的操作。我想要的是什么做的是,一旦用户完成操作,我需要删除用户创建的数据。删除用户在演示网站中添加的数据的最佳做法?
但问题是如果用户在演示域中创建的数据库插入数据,然后如果我删除域数据可能有另一个用户插入或删除另一个会话中的数据。所以我不想显示其他用户操作(如插入,删除)给别人。它不会冲突。我该怎么做。
这是我第一次需要制作演示站点(用PHP中的一些示例数据和PostgresSql完成)。目前我们允许用户登录并执行网站上提供的操作。我想要的是什么做的是,一旦用户完成操作,我需要删除用户创建的数据。删除用户在演示网站中添加的数据的最佳做法?
但问题是如果用户在演示域中创建的数据库插入数据,然后如果我删除域数据可能有另一个用户插入或删除另一个会话中的数据。所以我不想显示其他用户操作(如插入,删除)给别人。它不会冲突。我该怎么做。
有几种方法可以做到这一点。
SERIAL
列无法正确重置,因为在删除数据后,您的序列将保留在当前位置。为每个演示用户创建一个新数据库。使用来自“主”数据库的样本数据填充每个新数据库,该数据库永远不会被尝试演示的人改变。然后,当用户完成演示时,请删除整个数据库。
您可能可以对此进行优化,以便您只需为每个用户创建一些临时表,但这确实取决于用户在使用演示时修改了哪些数据。
重新填充可以通过使用模板数据库来完成。 –