#database-schema #postgresql #table #column #sql #reference #trigger

schema_guard_tokio

Schema Guard:支持BB8和Tokio的关系(Postgres)数据库(模式)管理工具

2个稳定版本

1.8.2 2024年6月9日
1.8.1 2024年5月11日

#1043 in 数据库接口

Download history 132/week @ 2024-05-07 15/week @ 2024-05-14 7/week @ 2024-05-21 3/week @ 2024-05-28 151/week @ 2024-06-04 35/week @ 2024-06-11 7/week @ 2024-06-18

95 每月下载量

MIT 许可证

77KB
1.5K SLoC

SchemaGuard

将YAML定义的模式和数据合并到PostgreSQL数据库

创建一个文件

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:

一行代码

    let _ = schema_guard::migrate1(schema_guard::load_schema_from_file("file.yaml").unwrap(), "postgresql://")?;

将创建或升级现有的Postgres数据库模式,并带有所需的表,而无需创建额外的表。

[!注意] 不建议将模式迁移集成到应用程序中进行生产使用,因为这会违反安全问题和最佳实践。

请考虑使用功能齐全的 SchemaGuard (个人使用免费)

依赖项

~16–30MB
~477K SLoC