# (WIP) Fixgen - Language agnostic fixture generator - Zero dependencies - Language agnostic This tool allows you to very easily generate fixtures. You simply define a fixgen file, for example sample.fixgen ``` user (2): id uuidv4, name name purchase (10): id uuidv4, buyer user.id, amount int<1,40> ``` And then run it ``` $ fixgen sample.fixgen -f csv -o fixtures ``` And it generates two files: fixtures/purchase.csv, fixtures/user.csv. Bam! Simple as that. You can then import it into your SQL server with simple copy from commands ``` COPY users FROM '/fixtures/user.csv' CSV HEADER; COPY purchases FROM '/fixtures/purchase.csv' CSV HEADER; ``` Or maybe export as json instead to import into your NoSQL DB. ## Development - Prerequisites - [Nix](https://nixos.org/manual/nix/stable/installation/installing-binary) - [Direnv](https://direnv.net/docs/installation.html) After installation, you will need to run direnv allow ``` direnv allow ``` And it will set up the development environment for you with the correct git hooks. ### VSCode You'll need OCaml platform and direnv extension. Once you have those, you will need to start the project from the terminal. First, ensure you have setup code terminal command: https://code.visualstudio.com/docs/setup/mac Once in place, cd to the project and run ``` code . ``` And VSCode should launch correctly with LSP installed. ### Running development ``` ./scripts/run-watch.sh ``` Run tests ``` ./scripts/run-test-watch.sh ``` You can also run them manually: ``` dune runtests ``` ### Building ``` dune build ```