
Database schema and ORM for zino
.
Supported database drivers
The following optional features are available:
Feature flag |
Description |
Default? |
orm-mariadb |
Enables the MariaDB database driver. |
No |
orm-mysql |
Enables the MySQL database driver. |
No |
orm-postgres |
Enables the PostgreSQL database driver. |
No |
orm-sqlite |
Enables the SQLite database driver. |
No |
orm-tidb |
Enables the TiDB database driver. |
No |
Mappings of Rust data types
Rust type |
MySQL datatype |
PostgreSQL datatype |
SQLite datatype |
bool |
BOOLEAN |
BOOLEAN |
BOOLEAN |
i8 |
TINYINT |
SMALLINT |
INTEGER |
u8 |
TINYINT UNSIGNED |
SMALLINT |
INTEGER |
i16 |
SMALLINT |
SMALLINT |
INTEGER |
u16 |
SMALLINT UNSIGNED |
SMALLINT |
INTEGER |
i32 , Option<i32> |
INT |
INT, SERIAL |
INTEGER |
u32 , Option<u32> |
INT UNSIGNED |
INT, SERIAL |
INTEGER |
i64 , Option<i64> , isize |
BIGINT |
BIGINT, BIGSERIAL |
INTEGER |
u64 , Option<u64> , usize |
BIGINT UNSIGNED |
BIGINT, BIGSERIAL |
INTEGER |
f32 |
FLOAT |
REAL |
REAL |
f64 |
DOUBLE |
DOUBLE PRECISION |
REAL |
Decimal |
NUMERIC |
NUMERIC |
TEXT |
String , Option<String> |
TEXT, VARCHAR(255) |
TEXT |
TEXT |
Date , NaiveDate |
DATE |
DATE |
DATE |
Time , NaiveTime |
TIME |
TIME |
TIME |
DateTime |
TIMESTAMP(6) |
TIMESTAMPTZ |
DATETIME |
NaiveDateTime |
DATETIME(6) |
TIMESTAMP |
DATETIME |
Uuid , Option<Uuid> |
CHAR(36), UUID |
UUID |
TEXT |
Vec<u8> |
BLOB |
BYTEA |
BLOB |
Vec<i32> , Vec<u32> |
JSON |
INT[] |
TEXT |
Vec<i64> , Vec<u64> |
JSON |
BIGINT[] |
TEXT |
Vec<String> |
JSON |
TEXT[] |
TEXT |
Vec<UUID> |
JSON |
UUID[] |
TEXT |
Map |
JSON |
JSONB |
TEXT |