| Crates.io | diesel-point |
| lib.rs | diesel-point |
| version | 0.1.2-alpha.1 |
| created_at | 2024-02-15 01:59:44.697377+00 |
| updated_at | 2025-01-15 18:28:02.39209+00 |
| description | Diesel support for Point types in Postgres |
| homepage | |
| repository | https://github.com/fernandomarca/diesel-point |
| max_upload_size | |
| id | 1140562 |
| size | 7,732 |
Diesel support for Point types in Postgres
In your sql schema, you have a column some_point_field Point not null.
When Diesel generates the schema (using table! {}) this column will look like some_point_field -> Point.
To ensure that the Point type is in scope, read this guide and add use diesel_point::sql_types::* to the import_types key in your diesel.toml file.
E.g. it will look like this:
[print_schema]
file = "src/schema.rs"
import_types = ["diesel::sql_types::*", "diesel_point::sql_types::*"]
In your ORM struct, write some_point_field: PointXy.
Now you can use this struct / table in your diesel queries.
If your table has already been created, first run diesel migration revert. Use PointXy in the ORM struct, and then run the migration again.
Example
#[derive(Insertable, Queryable, Identifiable, Serialize, PartialEq, Debug, Clone, AsChangeset)]
#[diesel(primary_key(model_id))]
#[diesel(table_name = my_table)]
pub struct Mytable{
pub model_id: Uuid,
pub some_point_field: PointXy,
}