🐙❄️ Spawnflake Rust

Spawnflake generates random data and/or based on patterns for relational databases. This is still in its early stages.

whats new (v0.2.2)

known limitations

support

| Datastore | Data type | Random Data Generator | Pattern Based Generator | | ----------- | ----------- |----------- | ----------- | | Mysql/Postgres+ | varchar | ✔️ | ✔️ | | Mysql/Postgres | int | ✔️ | ✔️ | | Mysql | unsigned int | ✔️ | ❌ | | Mysql/Postgres | smallint | ✔️ | ❌ | | Mysql | unsigned smallint | ✔️ | ❌ | | Mysql | tinyint/unsigned tinyint | ✔️ | ❌ | | Mysql | mediumint | ✔️ | ❌ | | Mysql/Postgres | bigint | ✔️ | ❌ | | Mysql | unsigned bigint | ✔️ | ❌ | | Mysql/Postgres+ | decimal | ✔️ | ❌ | | Mysql | float | ✔️ | ❌ | | Mysql/Postgres | double | ✔️ | ❌ | | Mysql | bit | ✔️ | ❌ | | Mysql/Postgres | time | ✔️ | ❌ | | Mysql/Postgres | timestamp | ✔️ | ❌ | | Mysql/Postgres | date | ✔️ | ❌ | | Mysql | year | ✔️ | ❌ | | Mysql/Postgres | char | ✔️ | ❌ | | Mysql | binary | ✔️ | ❌ | | Mysql/Postgres | text | ✔️ | ❌ | | Mysql | longtext | ✔️ | ❌ | | Mysql | blob/longblob | ✔️ | ❌ | | Mysql | enum | ❌ | ✔️ | | Postgres | real | ✔️ | ❌ | | Postgres | interval | ✔️ | ❌ | | Postgres | byte | ✔️ | ❌ | | Postgres | boolean | ✔️ | ❌ |

(+) works but not necessary with expected outcome

breaking changes

deprecations

cli

a pre release version is available/ check cli/readme.md for usage

Running the example

Running the example requires to run docker-compose inside the test folder. Obviously you need * docker * an sql client/ or a way to access the mysql cli (so as to see the generated records) * cargo run --example generate_mysql

Contributing

You are more than welcome. All you need to do is a pull request