## Diesel
我们需要告诉Diesel我们在哪里可以找到我们的数据库。我们通过设置环境变量来实现这一点。在我们的开发机器上,我们可能有多个项目,我们不想污染我们的环境。我们可以将url放在文件中。数据库_ URL.env
```python
echo DATABASE_URL=postgres://username:password@localhost/diesel_demo > .env
这将创建我们的数据库(如果它还不存在),并创建一个空的迁移目录,我们可以使用它来管理我们的体系结构(稍后将详细介绍)。
现在,我们将编写一个小型CLI来管理博客(忽略了我们只能从该CLI访问数据库的事实……我们首先需要一个表来存储我们的帖子。让我们为此创建一个迁移。
Creating migrations/20160815133237_create_posts/up.sql
Creating migrations/20160815133237_create_posts/down.sql
我们还希望创建一个结构,在该结构中我们可以读取数据,并让diesel生成用于引用查询中的表和列的名称。邮递
我们将在以下行的顶部添加以下行:src/lib.rs
CREATE TABLE posts (
id SERIAL PRIMARY KEY,
title VARCHAR NOT NULL,
body TEXT NOT NULL,
published BOOLEAN NOT NULL DEFAULT FALSE
)
use diesel::prelude::*;
#[derive(Queryable)]
pub struct Post {
pub id: i32,
pub title: String,
pub body: String,
pub published: bool,
}
[derival(Queryable)]将生成从SQL查询加载结构所需的所有代码。邮递
通常,模式模块不是手动创建的,而是由柴油发动机生成的。运行时,我们创建一个名为diesel的文件。toml,它告诉Diesel在rs上的src/schema文件中维护一个文件
use self::models::*;
use diesel::prelude