开始使用Aqueduct
安装
- 安装 Dart.
-
激活 Aqueduct CLI
pub global activate aqueduct
-
创建一个新项目。
aqueduct create my_project
在IntelliJ IDE、Atom或Visual Studio Code中打开项目目录。这三种IDE都有一个Dart插件。
如何学习 Aqueduct
根据你喜欢的学习方式不同,有不同的方法。
- 指导教程是一个动手操作的教程,在学习基本的Aqueduct概念的同时,您可以构建一个应用程序。
- 示例库包含了一些可部署的应用程序,你可以查看或修改。
- 指南(位于本网站的菜单中)深入探讨了Aqueduct的概念,并展示示例代码。
- 创建一个项目,使用API参考直接跳转进去。
最好先了解HTTP请求是如何响应的(Aqueduct的基础),然后再讨论诸如ORM和OAuth 2.0之类的主题。 本教程和HTTP指南都是此信息的主要来源。 由aqueduct
工具创建的项目中也有连接的示例路由供修改。
创建一个项目
aqueduct create
命令行工具可以创建新的Aqueduct项目目录。默认模板包含了运行Aqueduct应用程序的最小项目结构。项目名称必须是 snake_case格式。
aqueduct create my_project_name
其他模板包含了使用Aqueduct的ORM和OAuth 2.0实现的基础代码。这些模板可以列出:
aqueduct create list-templates
你可以在创建一个项目时提供模板的名称来使用该模板:
aqueduct create -t db my_project_name
使用 Aqueduct ORM
Aqueduct的ORM使用PostgreSQL。在开发过程中,你需要一个本地运行的PostgreSQL实例。在macOS上,安装Postgres.app是一个非常方便的本地运行PostgreSQL的方法。对于其他平台,请参阅PostgreSQL的下载页面。
当创建一个项目时,使用db
模板。如果要添加到现有的项目中,请参阅本指南。
要创建一个数据库,确保PostgreSQL正在运行并打开命令行工具连接到它。
psql
psql与Postgres.app的位置
如果你安装了Postgres.app,psql
在应用程序包里。你可以通过在查找器中的状态栏中选择 Open psql
来运行这个工具。
然后,创建一个数据库来连接你的应用程序,并创建一个用户来连接:
CREATE DATABASE my_database_name;
CREATE USER dart_app WITH PASSWORD 'dart';
GRANT ALL ON DATABASE my_database_name TO dart_app;
应用程序必须创建一个ManagedContext
来处理与此数据库的连接:
class MyChannel extends ApplicationChannel {
ManagedContext context;
@override
Future prepare() async {
var dataModel = new ManagedDataModel.fromCurrentMirrorSystem();
var store = new PostgreSQLPersistentStore.fromConnectionInfo(
"dart_app", "dart", "localhost", 5432, "my_database_name");
context = new ManagedContext(dataModel, store);
}
...
}
在应用程序中声明ManagedObject
之后,通过在项目目录中生成并执行迁移来生成数据库模式:
aqueduct db generate
aqueduct db upgrade --connect postgres://dart_app:dart@localhost:5432/my_database_name