mirror of https://github.com/grafana/grafana.git
Backend style guide: Document database patterns (#30219)
* Backend style guide: Document database patterns Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com> * Wording Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com> * Avoid stacked headings Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
This commit is contained in:
parent
85ec1fa0eb
commit
21e835f3a6
|
@ -75,3 +75,17 @@ Valid reasons to use a pointer include (but not necessarily limited to):
|
||||||
allocating heap memory)
|
allocating heap memory)
|
||||||
* You might *need* `nil` to tell if a variable isn't set, although usually it's better to use the type's zero
|
* You might *need* `nil` to tell if a variable isn't set, although usually it's better to use the type's zero
|
||||||
value to tell instead
|
value to tell instead
|
||||||
|
|
||||||
|
## Database
|
||||||
|
|
||||||
|
In database related code, we follow certain patterns.
|
||||||
|
|
||||||
|
### Foreign keys
|
||||||
|
|
||||||
|
While they can be useful, we don't generally use foreign key constraints in Grafana, for historical and
|
||||||
|
technical reasons. See this [comment](https://github.com/grafana/grafana/issues/3269#issuecomment-383328548) by Torkel
|
||||||
|
for context.
|
||||||
|
|
||||||
|
### Unique columns
|
||||||
|
|
||||||
|
If a column, or column combination, should be unique, add a corresponding uniqueness constraint through a migration.
|
||||||
|
|
Loading…
Reference in New Issue