Dart(运行服务器端)如何访问数据库?
我可以直接执行 SQL 语句还是可以使用某种 ORM?
目前还没有与 ODBC/JDBC 相媲美的 Dart 数据库 API,据我所知也没有 ORM。将来肯定会有这样的事情,Dart SDK 最终也将允许您将本机代码绑定到它,从而更容易通过链接现有的数据库库来提供数据库访问。
我自己目前正在通过其 REST 接口在 Dart 上使用Riak,它适用于小型应用程序,但对于更严重的事情,我们将不得不等待更好的 SDK 支持。
注意: IndexDB 和 WebSQL 等客户端数据库目前正在添加到dart:html中。
更新:现在有一个MongoDB驱动程序,我们正在为亚马逊的 DynamoDB 开发一个驱动程序
更新 2:驱动程序现在可用于mysql和postgresql。
这触及了从 CakePHP 和 RoR 等当前架构迁移到 Dart 的更大问题。Dart 是非常新的并且在服务器端没有提供太多功能,没有数据库驱动程序是您的问题中最不重要的 - Dart 缺乏久经考验的 MVC 框架,这意味着想象从 CakePHP 迁移到为了与 Dart 争论。
在您想尝试开始收敛到 Dart 目标的情况下 - 不要直接从 Dart 访问数据库,而是在现有 MVC 框架中使用 RESTful 服务是有意义的。
与 Dart 中的 SQL 编码相比,这提供了一个更干净、更健壮的接口,并提供了一个良好的迁移路径。
还有一个 Redis 驱动程序可用:https ://github.com/mythz/DartRedisClient
There is also a Windows MS-SQL Server driver available at https://pub.dev/packages/dart_mssql