database - 将代码与用户创建的数据库条目映射的首选方式

标签 database relationship

我正在尝试为当前设置找出最佳数据库模型:

管理员可以创建“客户产品”。这意味着客户可以附加/订阅的服务/产品。产品只需支付价格或产品订阅应发送电子邮件的简单情况很容易在数据库中建模。

但是客户产品的非常具体的后端代码呢?例如,一种产品可能具有非常具体的代码,用于检查不同数据库中的客户状态。我如何在数据库中映射这种关系,以便我可以根据产品设置打开/关闭一些代码。

我处理它的直观方法是在 CustomerProducts 表上有一个字符串列,可以在其中设置一组预定义的字符串,例如“MyCustomCodeHandler”,然后代码将检查此字符串是否存在以执行它。但对我来说,它并不真的像数据库和代码之间的真正关系。

最佳答案

数据是数据,而代码是代码。我不建议将代码存储在数据库中。

如果您需要允许客户使用关联代码创建产品类型(在“类型”的面向对象的意义上),我会选择以与部署其他代码相同的方式部署该代码。

自定义代码还可以引用存储在数据库中的自定义数据。我会选择为每个产品子类型创建一个从属表,并将特定于类型的列放在那里。此子类型表与通用产品表之间的关系是一对一的。也就是说,子类型表中的主键也是通用产品表的外键。

关于database - 将代码与用户创建的数据库条目映射的首选方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/332466/

相关文章:

laravel - 如何更改 laravel 关系的结果

php - 使用另一个 mysql/php 中一个表的数据

c# - 如何让 NHibernate 通过我的函数将所有 sql 查询作为字符串转发?

sql - 组织在线类(class)数据库

ios - 核心数据反向关系ios

mysql - 随机连接3个表中的记录

php - CakePHP (2.4) 深层关系

database - 在数据库表中存储整数或字符串之间的区别

swift - Realm 和 Swift - 为要更新的模型传递的参数

grails - MongoDB、Grails 和关系