Diesel官方文档示例中使用的tags变量来源于哪里?
tags变量的来源说明
tags是Diesel框架根据你的PostgreSQL表结构自动生成的列对象,不需要手动编码定义,生成逻辑如下:
- 你本地的
posts表需要提前定义tags字段,类型为PostgreSQL的数组类型(示例中对应text[]类型),参考建表语句:
CREATE TABLE posts ( id SERIAL PRIMARY KEY, tags TEXT[] NOT NULL );
- 运行Diesel迁移命令
diesel migration run后,框架会自动生成src/schema.rs文件,其中的table!宏会为posts表的每一列生成同名的常量对象,tags就是该宏自动生成的列对象,默认实现了PgArrayExpressionMethodstrait,所以可以直接调用contains这类PostgreSQL数组专属的查询方法。
官方示例默认省略了导入自动生成schema的代码,你实际使用时只需要在对应代码文件顶部加上导入语句,就能直接使用tags、id、posts这些对象:
use schema::posts::dsl::*;
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

