Derive Macro wb_sqlite::CreateTableLogSql
source · #[derive(CreateTableLogSql)]
{
// Attributes available to this derive:
#[sql]
}
Expand description
const CREATE_TABLE_LOG_SQL: &’static str = “CREATE …”
Create logging-table + trigger to log all table row modifications to the logging-table.
#[derive(CreateTableLogSql)]
struct FavoritePet {
#[sql(constraint = "PRIMARY KEY")]
id: i64,
name: String,
}
assert_eq!(
FavoritePet::CREATE_TABLE_LOG_SQL,
concat!(
"CREATE TABLE IF NOT EXISTS favorite_pet_log (id INTEGER NOT NULL, name TEXT NOT NULL) STRICT; ",
"CREATE INDEX IF NOT EXISTS favorite_pet_log_id_idx ON favorite_pet_log(id); ",
"CREATE TRIGGER IF NOT EXISTS favorite_pet_update UPDATE ON favorite_pet ",
"BEGIN INSERT INTO favorite_pet_log (id,name) VALUES (OLD.id,OLD.name); END; ",
"CREATE TRIGGER IF NOT EXISTS favorite_pet_delete DELETE ON favorite_pet ",
"BEGIN INSERT INTO favorite_pet_log (id,name) VALUES (OLD.id,OLD.name); END;"
)
);