【发布时间】:2021-05-31 18:35:57
【问题描述】:
我正在编写一个新的 CRM。我将在表格中显示项目数据。 我的目标是拥有一个灵活的现有表结构。举个例子,应该更改、添加和删除表的列名。如何制作我给出的灵活表格结构作为示例?
【问题讨论】:
标签: php database laravel laravel-8 php-8
我正在编写一个新的 CRM。我将在表格中显示项目数据。 我的目标是拥有一个灵活的现有表结构。举个例子,应该更改、添加和删除表的列名。如何制作我给出的灵活表格结构作为示例?
【问题讨论】:
标签: php database laravel laravel-8 php-8
您有几种方法,我将列出适用于 SQL 数据库的 2 种方法:
meta storage,您将在其中存储元组(行、列)及其值。这样做的缺点是表在物理上不会存在,任何后续的查询或关系使用都会变得复杂metadata 表和保存值的物理表。一旦metadata 表中的数据更新,您将需要更改物理存储(表)以匹配新结构。这种方法的缺点是物理存储的变化可能非常缓慢甚至损坏数据。例如,如果用户决定将列从 TEXT 更改为 INTEGER,您将丢失列中无法转换为整数的所有值。我建议你使用一些已经解决了这个问题的已知 ORM(对象关系映射)库,并专注于最终用户需要的功能。
在非 sql 解决方案的情况下,您可能决定将表存储在动态结构中(如 json),但是这样的表可以增长多少是有限制的。
【讨论】: