#surrealdb #schema #surreal #snake-case #derive #proc-macro

surql-definition-core

一个用于生成SurrealDB表和字段定义的Rust过程宏

2个版本

0.2.1 2024年5月7日
0.2.0 2024年5月7日

#1951数据库接口


2 crate 使用

MIT 许可协议

5KB

surql-definition-core

surql-definition-core 是一个Rust库,提供用于生成SurrealDB模式查询的核心实用程序和特性。该crate包含一个用于模式生成的trait和一个将字符串转换为蛇形命名的实用函数。

该crate被 surql-definition-macros crate使用,用于生成SurrealDB表和字段定义。

目录

  1. 特性
  2. 安装
  3. 用法
  4. 示例
    1. 生成SurrealDB模式查询
    2. 将字符串转换为蛇形命名
  5. 许可协议
  6. 链接

特性

  • 提供用于生成SurrealDB模式查询的 SurQLSchemaProducer 特性。
  • 包含一个将字符串转换为蛇形命名的实用函数 to_snake_case

安装

surql-definition-core 添加到您的 Cargo.toml 文件中。

[dependencies]
surql-definition-core = "0.2.1"

用法

要使用 surql-definition-core,根据需要导入特性或实用函数。

use surql_definition_core::{SurQLSchemaProducer, to_snake_case};

示例

生成SurrealDB模式查询

实现 SurQLSchemaProducer 特性以定义结构体的模式查询。

use surql_definition_core::SurQLSchemaProducer;

struct MyTable;

impl SurQLSchemaProducer for MyTable {
    fn schema_query() -> &'static str {
        "DEFINE TABLE my_table;"
    }
}

assert_eq!(MyTable::schema_query(), "DEFINE TABLE my_table;");

将字符串转换为蛇形命名

使用 to_snake_case 函数将字符串转换为蛇形命名。

use surql_definition_core::to_snake_case;

assert_eq!(to_snake_case("HelloWorld"), "hello_world");
assert_eq!(to_snake_case("snake_case"), "snake_case");
assert_eq!(to_snake_case("CamelCase123"), "camel_case_123");

许可协议

本项目采用MIT许可协议。有关详细信息,请参阅LICENSE 文件。

无运行时依赖