Crates.io | schema_guard_tokio |
lib.rs | schema_guard_tokio |
version | 1.8.2 |
source | src |
created_at | 2024-05-11 16:26:12.554568 |
updated_at | 2024-06-09 18:55:10.448853 |
description | Schema Guard: Relation (Postgres) DataBase (Schema) Management tool with BB8 and Tokio support |
homepage | https://www.dbinvent.com/rdbm/ |
repository | https://github.com/vkrinitsyn/schema_guard |
max_upload_size | |
id | 1236909 |
size | 83,514 |
Create a file:
database:
- schema:
schemaName: test_schema
owner: postgres
tables:
- table:
tableName: test_table
description: The new table
constraint: -- some SQL as table constraint
sql: -- some SQL suffix on table create
columns:
- column:
name: id
type: serial
defaultValue:
constraint:
primaryKey: true
nullable: false
foreignKey:
references: --fk_table
sql: -- some SQL suffix on new FK create, like- on delete no action on update no action
description:
sql: -- some SQL suffix on new column create
- column:
name: test
type: varchar(250)
triggers:
- trigger:
name: uniq_name_of_trigger
event: before update
when: for each row
proc:
One line of code:
let _ = schema_guard::migrate1(schema_guard::load_schema_from_file("file.yaml").unwrap(), "postgresql://")?;
Will create or upgrade existing Postgres database schema with desired tables without extra table creation.
[!NOTE] Not recommended to integrate schema migrate into application for production use as such violate security concern and best practices.
Please consider to use full-featured SchemaGuard (free for personal use)