1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-28 00:06:53 +01:00
unleash.unleash/website/docs/contributing/ADRs/ADRs.md
Nuno Góis 2b5efd3883
docs: ADR: Specificity in database column references (#5499)
https://linear.app/unleash/issue/2-1680/adr-specify-tables-when-querying-columns

This PR includes my suggestion of a "Specificity in database column
references" ADR.

The ADR proposes a standard for explicitly specifying the full table
name or alias for each column in our SQL queries, especially for queries
with joins between multiple tables. This decision is a direct response
to recent ambiguity errors encountered due to a database migration,
emphasizing the need for clearer SQL query standards in complex joins
and schema changes.

---------

Co-authored-by: Mateusz Kwasniewski <kwasniewski.mateusz@gmail.com>
2023-11-30 08:36:44 +00:00

2.2 KiB

title
ADR Overview

Introduction

Architectural decision records are a record of design decisions we have made in the past because we belived they would help our code quality over time. Any ADR can be challenged, but two conditions must be met to change an ADR:

  1. The proposed solution must provide a tangible benefit in terms of code quality.
  2. The benefits of the proposed solution must outweigh the effort of retroactively changing the entire codebase. One such example is the decision to re-write Unleash to TypeScript.

Overarching ADRs

These ADRs describe decisions that concern the entire codebase. They apply to back-end code, front-end code, and code that doesn't neatly fit into either of those categories.

Back-end ADRs

We are in the process of defining ADRs for the back end. At the time of writing we have created the following ADRS:

Front-end ADRs

We have created a set of ADRs to help guide the development of the front end: