d28f005552
Fix limit for databases other than sqlite go mod tidy && go mod vendor Remove unneeded break statements Make everything work with the new xorm version Fix xorm logging Fix lint Fix redis init Fix using id field Fix database init for testing Change default database log level Add xorm logger Use const for postgres go mod tidy Merge branch 'master' into update/xorm # Conflicts: # go.mod # go.sum # vendor/modules.txt go mod vendor Fix loading fixtures for postgres Go mod vendor1 Update xorm to version 1 Co-authored-by: kolaente <k@knt.li> Reviewed-on: https://kolaente.dev/vikunja/api/pulls/323
87 lines
3 KiB
Markdown
87 lines
3 KiB
Markdown
## Contributing to xorm
|
|
|
|
`xorm` has a backlog of [pull requests](https://help.github.com/articles/using-pull-requests), but contributions are still very
|
|
much welcome. You can help with patch review, submitting bug reports,
|
|
or adding new functionality. There is no formal style guide, but
|
|
please conform to the style of existing code and general Go formatting
|
|
conventions when submitting patches.
|
|
|
|
* [fork a repo](https://help.github.com/articles/fork-a-repo)
|
|
* [creating a pull request ](https://help.github.com/articles/creating-a-pull-request)
|
|
|
|
### Language
|
|
|
|
Since `xorm` is a world-wide open source project, please describe your issues or code changes in English as soon as possible.
|
|
|
|
### Sign your codes with comments
|
|
```
|
|
// !<you github id>! your comments
|
|
|
|
e.g.,
|
|
|
|
// !lunny! this is comments made by lunny
|
|
```
|
|
|
|
### Build xorm and test it locally
|
|
|
|
Once you write some codes on your feature branch, you could build and test locally at first. Just
|
|
|
|
```
|
|
make build
|
|
```
|
|
and
|
|
```
|
|
make test
|
|
```
|
|
|
|
The `make test` is an alias of `make test-sqlite`, it will run the tests on a sqlite database file. No extra thing needed to do except you need to cgo compile enviroment.
|
|
|
|
If you write a new test method, you could run
|
|
|
|
```
|
|
make test-sqlite#TestMyNewMethod
|
|
```
|
|
|
|
that will only run the special test method.
|
|
|
|
If you want to run another datase, you have to prepare a running database at first, and then, you could
|
|
|
|
```
|
|
TEST_MYSQL_HOST= TEST_MYSQL_CHARSET= TEST_MYSQL_DBNAME= TEST_MYSQL_USERNAME= TEST_MYSQL_PASSWORD= make test-mysql
|
|
```
|
|
|
|
or other databases:
|
|
```
|
|
TEST_MSSQL_HOST= TEST_MSSQL_DBNAME= TEST_MSSQL_USERNAME= TEST_MSSQL_PASSWORD= make test-mssql
|
|
```
|
|
```
|
|
TEST_PGSQL_HOST= TEST_PGSQL_SCHEMA= TEST_PGSQL_DBNAME= TEST_PGSQL_USERNAME= TEST_PGSQL_PASSWORD= make test-postgres
|
|
```
|
|
```
|
|
TEST_TIDB_HOST= TEST_TIDB_DBNAME= TEST_TIDB_USERNAME= TEST_TIDB_PASSWORD= make test-tidb
|
|
```
|
|
|
|
And if your branch is related with cache, you could also enable it via `TEST_CACHE_ENABLE=true`.
|
|
|
|
### Patch review
|
|
|
|
Help review existing open [pull requests](https://help.github.com/articles/using-pull-requests) by commenting on the code or
|
|
proposed functionality.
|
|
|
|
### Bug reports
|
|
|
|
We appreciate any bug reports, but especially ones with self-contained
|
|
(doesn't depend on code outside of xorm), minimal (can't be simplified
|
|
further) test cases. It's especially helpful if you can submit a pull
|
|
request with just the failing test case(you can find some example test file like [session_get_test.go](https://gitea.com/xorm/xorm/src/branch/master/session_get_test.go)).
|
|
|
|
If you implements a new database interface, you maybe need to add a test_<databasename>.sh file.
|
|
For example, [mysql_test.go](https://gitea.com/xorm/xorm/src/branch/master/test_mysql.sh)
|
|
|
|
### New functionality
|
|
|
|
There are a number of pending patches for new functionality, so
|
|
additional feature patches will take a while to merge. Still, patches
|
|
are generally reviewed based on usefulness and complexity in addition
|
|
to time-in-queue, so if you have a knockout idea, take a shot. Feel
|
|
free to open an issue discussion your proposed patch beforehand.
|