55 lines
1.4 KiB
Markdown
55 lines
1.4 KiB
Markdown
# [WIP] sqlxgentools
|
|
|
|
Tools to generate SQL migrations and Rust SQLx repositories code from models structs to use with a SQLite database.
|
|
|
|
Will be used in [minauthator](https://forge.lefuturiste.fr/mbess/minauthator).
|
|
|
|
## Project context
|
|
|
|
### Goals
|
|
|
|
- Help developers that dont use ORM and use SQLx in a Rust project with a SQLite DB.
|
|
- Auto generate boilerplate repositories pattern code
|
|
- Auto generate CREATE TABLE base migrations from model struct
|
|
- Auto generate Up and Down migrations
|
|
- Let developer have flexibility over the model definition
|
|
|
|
### Non-goals
|
|
|
|
- Provide a full a ORM interface
|
|
|
|
## Features
|
|
|
|
- [x] generate migrations
|
|
- [x] from scratch
|
|
- [ ] up migration
|
|
- [ ] down migration
|
|
- [x] generate repositories
|
|
- [x] get_all
|
|
- [x] get_by_id
|
|
- [x] insert
|
|
- [x] insert_many
|
|
- [ ] generate custom by
|
|
- [x] co-exist with custom repository
|
|
|
|
## Usage
|
|
|
|
### Generate initial CREATE TABLE sqlite migration
|
|
|
|
cargo run --bin sqlx-generator -- ./path/to/project generate-create-migrations > migrations/all.sql
|
|
|
|
sqlx-generator \
|
|
-m path/to/models \
|
|
gen-repositories \
|
|
-o path/to/repositories
|
|
|
|
sqlx-generator \
|
|
-m path/to/models \
|
|
gen-migrations \
|
|
-o path/to/migrations/all.sql
|
|
|
|
### Generate repositories code
|
|
|
|
not implemented yet
|
|
|
|
cargo run --bin sqlx-generator -- ./path/to/project generate-repositories
|