我正在开发一个Web应用程序,用户可以在其中创建数据库中的表。我正在考虑从用户那里获取属性名称和表描述,并将它们放入SQL查询并执行它。但缺点是,如果此应用程序安装在其他地方,则必须再次更改所有数据库连接参数,它将被硬编码。或者这是软件行业的方法吗?
我能想到的另一种方法是获取有关从用户创建新表的所有信息,并将它们插入到一个表中,并在此表上设置某种触发器,每次在第一个表中执行插入时都会创建一个新表如果我的方法是正确的,那么这样的SQL脚本会是什么?
我正在使用SPRING - MVC,Hibernate,MySQL,REST Web服务
如果我在错误的方向思考,请纠正我。说实话,我不清楚我将如何做到这一点。 感谢
答案 0 :(得分:0)
这是有风险的,因为具有模糊且不断扩展的架构的数据库架构将变得难以管理。您的问题不在于如何管理凭据,无论用户是否创建表,您都必须安全地处理凭据。您的问题是为什么用户似乎有必要创建表。
您是否正在构建管理任意数据库的界面?也许phpmyadmin会为用户提供他们需要的一切。
或者你做的事情不是那么通用和开放式的吗?也许有足够丰富的表设计,您可以为用户提供他们想要的东西,而无需他们构建自己的表。用户需要将哪些信息放入一个看起来需要构建自己的表中?
如果您对目标更具体,我们可能会更有帮助。