2.7 KiB
Contribution guidelines
Contributions are welcome! Please open an Issues or Pull Request for any changes.
In addition to core contributions, developers are encouraged to build their own custom transformers which can be run together with other custom transformers using the composeAndExecute command.
Pull Requests
go fmt
is run as part ofmake test
andmake integrationtest
, please make sure to check in the format changes.- Ensure that new code is well tested, including integration testing if applicable.
- Make sure the build is passing.
- Update the README or any documentation files as necessary. If editing the Readme, please conform to the standard-readme specification.
- Once a Pull Request has received two approvals it can be merged in by a core developer.
Pull requests should be opened against the staging
branch. Periodically, updates on staging
will be ported over to master
for tagged release.
Creating a new migration file
make new_migration NAME=add_columnA_to_table1
- This will create a new timestamped migration file in
db/migrations
- This will create a new timestamped migration file in
- Write the migration code in the created file, under the respective
goose
pragma- Goose automatically runs each migration in a transaction; don't add
BEGIN
andCOMMIT
statements.
- Goose automatically runs each migration in a transaction; don't add
- Core migrations should be committed in their
goose fix
ed form. To do this, runmake version_migrations
which converts timestamped migrations to migrations versioned by an incremented integer.
Diagrams
- Diagrams were created with draw.io.
- To update a diagram:
- Go to draw.io.
- Click on File > Open from and choose the location of the diagram you want to update.
- Once open in draw.io, you may update it.
- Export the diagram to this repository's directory and commit it.
Generating the Changelog
We use github-changelog-generator to generate release Changelogs. To be consistent with previous Changelogs, the following flags should be passed to the command:
--user vulcanize
--project vulcanizedb
--token {YOUR_GITHUB_TOKEN}
--no-issues
--usernames-as-github-logins
--since-tag {PREVIOUS_RELEASE_TAG}
For more information on why your github token is needed, and how to generate it see https://github .com/github-changelog-generator/github-changelog-generator#github-token.
Code of Conduct
VulcanizeDB follows the Contributor Covenant Code of Conduct.