-2

您可以获取表单数据并更改数据库架构吗?这是个好主意吗?从“默认”数据库进行的许多迁移是否有缺点?


我希望用户能够添加/删除表、列和行。进行架构更改需要迁移,因此添加该功能需要编写一个视图,该视图采用表单数据并将其插入到使用 Flask-Migrate 的函数中。

如果我设法构建它,迁移是否构建所需的单独脚本以及每次添加或删除某些内容时随之而来的所有内容?对于这样的事情是否实用,其中可能会将 10 或 20 个新表添加到起始数据库中?

如果我允许用​​户向表中添加列,则必须修改表的类。这是可能的,还是一个安全的想法?如果没有,如果有人可以帮助我,我将不胜感激,至少让我指出正确的方向。

4

1 回答 1

0

在典型的 Web 应用程序中,部署的数据库不会在运行时更改其架构。架构仅在升级期间更改,并且只有开发人员进行这些更改。用户在应用程序上执行的操作可以添加、删除或修改行,但不能修改表或列本身。

如果您需要为您的用户提供一种添加灵活数据结构的方法,那么您应该以一种可行的方式设计您的数据库模式。例如,如果您希望您的用户添加自定义键/值对,您可以有一个包含列user_idkey_name的表value。您可能还想调查无模式数据库是否更适合您的需求。

于 2016-01-28T19:53:14.010 回答