Skip to content

Instantly share code, notes, and snippets.

@BacLuc
BacLuc / release-branch.json
Created June 22, 2026 13:13
learn-git-branching-release-branch
{
"goalTreeString": "%7B%22branches%22%3A%7B%22main%22%3A%7B%22target%22%3A%22C4%27%22%2C%22id%22%3A%22main%22%2C%22remoteTrackingBranchID%22%3Anull%7D%2C%22release_v%22%3A%7B%22target%22%3A%22C1%22%2C%22id%22%3A%22release_v%22%2C%22remoteTrackingBranchID%22%3Anull%7D%2C%22r_v1%22%3A%7B%22target%22%3A%22C4%22%2C%22id%22%3A%22r_v1%22%2C%22remoteTrackingBranchID%22%3Anull%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C4%22%3A%7B%22parents%22%3A%5B%22C3%22%5D%2C%22id%22%3A%22C4%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%27%22%7D%2C%22C4%27%22%3A%7B%22parents%22%3A%5B%22C3%27%22%5D%2C%22id%22%3A%22C4%27%22%7D%7D%2C%22tags%22%3A%7B%22v1%22%3A%7B%22target%22%3A%22C1%22%2C%22id%22%3A%22v1%22%7D%2C%

Variant B: URI-Prefixed Dual API

Overview

This variant introduces a versioned public API alongside the existing internal API by adding a /v1 route prefix to a parallel set of API Platform resource definitions. The internal API (current routes) remains the primary interface for the official frontend and is free to evolve. The v1 API is a stable, versioned contract for third-party consumers.

Current state:

Aspect Status
DO $$ DECLARE
r RECORD;
BEGIN
FOR r IN (
SELECT tablename as entry
FROM pg_tables
WHERE
schemaname = current_schema())
LOOP
EXECUTE 'DROP TABLE ' || quote_ident(r.entry) || ' CASCADE';
@BacLuc
BacLuc / change-owner.sql
Created August 8, 2025 08:05
Change owner of postgres db objects
DO $$ DECLARE
r RECORD;
target_user text := 'target-user';
statement text;
BEGIN
-- table
FOR r IN (
SELECT tablename as entry
FROM pg_tables
WHERE
{
"metrics": {
"_api_": {
"contains": "default",
"type": "trend",
"values": {
"avg": 931.3676386499999,
"max": 3500.330784,
"med": 669.9648735000001,
"min": 277.3991,
test
{
"metrics": {
"_api_": {
"contains": "default",
"type": "trend",
"values": {
"avg": 631.12776445,
"max": 1665.518257,
"med": 584.0268055,
"min": 289.911717,
{
"metrics": {
"_api_": {
"contains": "default",
"type": "trend",
"values": {
"avg": 631.6030709473683,
"max": 2068.760395,
"med": 488.433992,
"min": 388.672869,
{
"metrics": {
"_api_": {
"contains": "default",
"type": "trend",
"values": {
"avg": 8681.280807421053,
"max": 31590.196952,
"med": 949.095752,
"min": 294.040104,
{
"metrics": {
"_api_": {
"contains": "default",
"type": "trend",
"values": {
"avg": 3515.3106153,
"max": 5998.287294,
"med": 3708.5206390000003,
"min": 465.955339,