如何解决如何制作 Laravel 动态数据表?
我正在编写一个新的 CRM。我将在表格中显示项目数据。 我的目标是让现有表具有灵活的结构。举个例子,表的列名应该被更改、添加和删除。我举的例子中的灵活表结构如何制作?
解决方法
您有几种方法,我将列出两种适用于 SQL 数据库的方法:
- 创建一个稀疏
meta storage
,您将在其中存储元组(行、列)及其值。这样做的缺点是表将不存在物理上,任何后续的查询或关系使用都会变得复杂 - 使用一个
metadata
表来保存 CRM 表的动态结构,并使用一个物理表来保存值。metadata
表中的数据更新后,您将需要更改物理存储(表)以匹配新结构。这种方法的缺点是物理存储中的更改可能非常缓慢,甚至会损坏数据。例如,如果用户决定将列从 TEXT 更改为 INTEGER,您将丢失该列中所有无法转换为整数的值。
我建议您使用一些已经解决了这个问题的已知 ORM(对象关系映射)库,并专注于最终用户需要的功能。
在非 sql 解决方案的情况下,您可能决定将表存储在动态结构(如 json)中,但是这种表可以增长的数量是有限制的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。