-
Do not open up a GitHub issue if the bug is a security vulnerability. Instead, send a direct email to [email protected].
-
Ensure the bug was not already reported by searching on GitHub under Issues.
-
If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
-
If possible, use the relevant bug report templates to create the issue.
-
Open a new GitHub pull request with the patch.
-
Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
- Suggest your change in an enhancement issue. When you have a green light from the community, go ahead and start writing code.
- Ask any question about how to use SpitFHIR by creating an issue and tag it with "question".
If you tried to proceed according to the documentation and something didn't go as expected, please suggest improvements in the documentation to cover your particular use case.
To generate documentation:
$ cargo doc
To see the documentation:
$ cargo doc --open
$ cargo run -- --source examples/waterloo_tree_inventory.csv
$ cargo build
Targeting the current operating system:
$ cargo build --release
Targeting other operating systems:
$ cargo build --target=x86_64-pc-windows-gnu
Installing to run locally, by adding the command to the classpath:
$ cargo install --path .
CSVSource was originally developed for learning purpose before being adopted in production. Unfortunately, it lacks automated tests to make sure all its features still work after changes. That would be great if you could contribute with tests, but while we learn how to test Rust code, please run the following test cases to verify whether the resulting target files are generated as expected:
-
$ cargo run -- --source examples/waterloo_tree_inventory.csv
: validates default behaviors:- it generates a sql file by default
- there is an sql insert statement for each line of the csv file
- the name of the table is equal to the name of the csv file
- the first line of the csv is used to define the names of the columns
- all values are defined as string
-
$ cargo run -- --source examples/waterloo_tree_inventory.csv --target different_name.sql
:- it generates the target with a diferent file name from the source
- the table name is still the name of the source file
-
$ cargo run -- --source examples/waterloo_tree_inventory.csv --table tree_inventory
:- the table name in the insert statements is different from the source file name
-
$ rm *.sql
to clean up all the generated targets.