问题标签 [database-abstraction]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 默认情况下,级联上的 web2py 数据库抽象层 (DAL) 引用是什么?
例如,当我使用 DAL 在 web2py 中创建数据库时,我为网站上的用户评论创建了一个表,并且我需要能够获取发送该特定评论的用户,我可以通过电子邮件来完成。
但是电子邮件可能会随着时间而改变(可能的选项),并且如果电子邮件没有在使用该电子邮件作为该用户的 1 对 1 参考的所有“子”表上更新,则数据库本身最终可能会寻找不存在的用户。
出于这个原因,我需要自动更新子表中的所有外键,所以这个功能(更新外键的级联)是否存在,并且默认情况下在使用 DAL 时/是否可以告诉 DAL 连接通过updateoncascade=True
在需要的Field("name", type="type", notnull=True, updateoncascade=True)
字段中添加一个?
web2py - Inserto into table select * from - web2py DAL
再见,
我需要执行一个查询
其中 tableA 和 TableB 共享相同的结构。如何使用 web2py DAL 完成此结果(以便从数据库特定语法中抽象查询)?
我还补充说,TableB 有大约百万行和 20 列。
谢谢
javascript - 如何抽象现有的 firebase CRUD 操作,以便能够迁移到 node.js 中的另一个数据库
我们正在尝试找到一种适当的方法来抽象 firebase CRUD 操作,这些操作目前在我们的 node.js 代码中的许多地方。原因是能够用另一个数据库(如 mongoDB)替换 firebase。
我们的数据库包含相对较深的数据结构(最多 4 个级别)。
例如,这个过程中的一个特定困难是我们在 firebase 中进行更新的方式,这可以使用一个更新命令在许多地方执行。例如:
对于如何抽象firebase CRUD,有什么建议吗?
c# - 具有不同查询选择列表的广义 DTO 填充方法
由于我不太了解的原因,我选择不使用 ORM 框架并使用通用的 ADO.NET 数据访问层。我最初创建了一个数据库类,我的所有控制器都可以从中访问。正如除我之外的任何人所预料的那样,这个访问对象已经变成了一个怪物。
为了重构我的数据层,我创建了一个“数据库适配器”类作为 DI 注入服务,并创建了一个“服务层”来使用它。所以现在每个控制器都有一个“域服务”,它将使用数据库适配器来查询数据库并返回一个通用数据表。然后,该服务将填充查询结果并将域对象返回给控制器,在那里它可以组装视图模型。
我遇到了一个问题,我似乎无法抽象设计用于映射从数据库访问层返回的数据集的代码,因为每个查询都可能选择不同的字段。例如,一个简单的参考数据服务:
在这个例子中,我从 populate 方法中抛出了一个异常,因为正如你所看到的,我只是为这个特定的方法选择代码和标签。我想避免每个方法的自定义映射,但我也不想不必要地将每个表行中的所有数据返回到控制器。我想保持 populate 方法的通用性,以便对该表的任何查询都将被适当地映射。
我意识到我基本上几乎是在推出自己的 ORM,但我想使用没有它的服务模式,因为在这一点上我太投入了。
flask - 初始化 SQLAlchemy 的正确方法
Flask(__name__)
许多教程说要使用并从那里创建应用程序,我们可以使用SQLAlchemy(app)
. 但是,我不喜欢这种侵入式模型,因为应用程序本身不需要了解有关数据库的任何信息。
我认为更好的方法是创建一个名为database
并在那里初始化数据库的模块。
模型应该import db from database
和应用程序应该只导入模型。
但是,使用这种方法,数据库模块必须以某种方式检索全局应用程序,这是我不同意的。
是否有一种属性方法可以在不导入主应用程序的情况下初始化数据库?
python - Python 数据库抽象层比较示例
我对 Python 很陌生,来自 Drupal,发现抽象层对我来说很有意义,也许是出于熟悉,而不是其他任何事情。但我喜欢 Drupal 的地方在于它有一种方法可以做某事,因此很容易找到一致的示例。
到目前为止,我非常喜欢 Python,但由于抽象层太多,而且这些层非常灵活,我发现很难找到一致的示例。
到目前为止,我已经尝试过 PyDal 和 SQLAlchemy。我发现 SQLAlchemy 更有意义,但我很难从基本查询开始。
例如更新人员集名称 = 'Sally' 其中 id = 1; 我希望抽象出类似的东西:
或者
其中Person是定义表的类。
似乎有很多插入但不更新或其他常见查询的示例,因此我很难找到适合我的抽象层。
有谁知道每个抽象层的示例负载,甚至是对每个层之间的示例进行比较的页面?如果做不到这一点,确定哪一层接近我上面的例子并给我一个例子或链接真的很棒。
谢谢!