Skip to content

Commit 623610a

Browse files
authored
feat: experimental db pull as declarative schemas (#4722)
* feat: squash migrations to declarative schemas * chore: add auto formatting * fix: switch on ast types * fix: flag for experimental database pull * fix: unit test sql formatter * fix: handle common statement types * chore: lint errors * chore: test more entity handling * fix: order constraints and policies after functions * fix: dump roles before schema * fix: support domains and operators * fix: separate procedures from functions * chore: emit original lines * chore: rename relationship to policy * chore: replace config file inline * fix: move database to variables * fix: handle sequence path * fix: non-greedy match
1 parent a54aee7 commit 623610a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1118
-90
lines changed

go.mod

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ require (
3838
github.com/joho/godotenv v1.5.1
3939
github.com/mithrandie/csvq-driver v1.7.0
4040
github.com/muesli/reflow v0.3.0
41+
github.com/multigres/multigres v0.0.0-20260126223308-f5a52171bbc4
4142
github.com/oapi-codegen/nullable v1.1.0
4243
github.com/olekukonko/tablewriter v1.1.3
4344
github.com/slack-go/slack v0.17.3
@@ -117,9 +118,10 @@ require (
117118
github.com/butuzov/mirror v1.3.0 // indirect
118119
github.com/catenacyber/perfsprint v0.9.1 // indirect
119120
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
121+
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
120122
github.com/cespare/xxhash/v2 v2.3.0 // indirect
121123
github.com/charithe/durationcheck v0.0.10 // indirect
122-
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
124+
github.com/charmbracelet/colorprofile v0.3.1 // indirect
123125
github.com/charmbracelet/harmonica v0.2.0 // indirect
124126
github.com/charmbracelet/x/ansi v0.10.1 // indirect
125127
github.com/charmbracelet/x/cellbuf v0.0.13 // indirect
@@ -221,7 +223,7 @@ require (
221223
github.com/gostaticanalysis/comment v1.5.0 // indirect
222224
github.com/gostaticanalysis/forcetypeassert v0.2.0 // indirect
223225
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
224-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 // indirect
226+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.4 // indirect
225227
github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 // indirect
226228
github.com/hashicorp/errwrap v1.1.0 // indirect
227229
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
@@ -237,7 +239,7 @@ require (
237239
github.com/jackc/pgio v1.0.0 // indirect
238240
github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 // indirect
239241
github.com/jackc/pgpassfile v1.0.0 // indirect
240-
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect
242+
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
241243
github.com/jackc/pgtype v1.14.4 // indirect
242244
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
243245
github.com/jgautheron/goconst v1.8.1 // indirect
@@ -332,12 +334,12 @@ require (
332334
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
333335
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
334336
github.com/polyfloyd/go-errorlint v1.8.0 // indirect
335-
github.com/prometheus/client_golang v1.22.0 // indirect
336-
github.com/prometheus/client_model v0.6.1 // indirect
337-
github.com/prometheus/common v0.62.0 // indirect
338-
github.com/prometheus/procfs v0.15.1 // indirect
339-
github.com/quasilyte/go-ruleguard v0.4.4 // indirect
340-
github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect
337+
github.com/prometheus/client_golang v1.23.2 // indirect
338+
github.com/prometheus/client_model v0.6.2 // indirect
339+
github.com/prometheus/common v0.67.4 // indirect
340+
github.com/prometheus/procfs v0.19.2 // indirect
341+
github.com/quasilyte/go-ruleguard v0.4.5 // indirect
342+
github.com/quasilyte/go-ruleguard/dsl v0.3.23 // indirect
341343
github.com/quasilyte/gogrep v0.5.0 // indirect
342344
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
343345
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
@@ -346,7 +348,7 @@ require (
346348
github.com/rogpeppe/go-internal v1.14.1 // indirect
347349
github.com/ryancurrah/gomodguard v1.4.1 // indirect
348350
github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect
349-
github.com/sagikazarmark/locafero v0.11.0 // indirect
351+
github.com/sagikazarmark/locafero v0.12.0 // indirect
350352
github.com/sahilm/fuzzy v0.1.1 // indirect
351353
github.com/sanposhiho/wastedassign/v2 v2.1.0 // indirect
352354
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 // indirect
@@ -362,7 +364,6 @@ require (
362364
github.com/skeema/knownhosts v1.3.1 // indirect
363365
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect
364366
github.com/sonatard/noctx v0.1.0 // indirect
365-
github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect
366367
github.com/sourcegraph/go-diff v0.7.0 // indirect
367368
github.com/speakeasy-api/openapi-overlay v0.9.0 // indirect
368369
github.com/spf13/cast v1.10.0 // indirect
@@ -407,24 +408,23 @@ require (
407408
go-simpler.org/sloglint v0.11.0 // indirect
408409
go.augendre.info/fatcontext v0.8.0 // indirect
409410
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
410-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 // indirect
411+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.64.0 // indirect
411412
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.60.0 // indirect
412-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect
413-
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.35.0 // indirect
414-
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.35.0 // indirect
415-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0 // indirect
416-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.35.0 // indirect
417-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0 // indirect
413+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.64.0 // indirect
414+
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 // indirect
415+
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.39.0 // indirect
416+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.39.0 // indirect
417+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.39.0 // indirect
418+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.39.0 // indirect
418419
go.opentelemetry.io/otel/metric v1.39.0 // indirect
419-
go.opentelemetry.io/otel/sdk v1.38.0 // indirect
420-
go.opentelemetry.io/otel/sdk/metric v1.38.0 // indirect
420+
go.opentelemetry.io/otel/sdk v1.39.0 // indirect
421+
go.opentelemetry.io/otel/sdk/metric v1.39.0 // indirect
421422
go.opentelemetry.io/otel/trace v1.39.0 // indirect
422-
go.opentelemetry.io/proto/otlp v1.5.0 // indirect
423-
go.uber.org/atomic v1.9.0 // indirect
423+
go.opentelemetry.io/proto/otlp v1.9.0 // indirect
424424
go.uber.org/automaxprocs v1.6.0 // indirect
425-
go.uber.org/multierr v1.9.0 // indirect
426-
go.uber.org/zap v1.24.0 // indirect
427-
go.yaml.in/yaml/v2 v2.4.2 // indirect
425+
go.uber.org/multierr v1.11.0 // indirect
426+
go.uber.org/zap v1.27.0 // indirect
427+
go.yaml.in/yaml/v2 v2.4.3 // indirect
428428
go.yaml.in/yaml/v3 v3.0.4 // indirect
429429
golang.org/x/crypto v0.47.0 // indirect
430430
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac // indirect
@@ -435,9 +435,9 @@ require (
435435
golang.org/x/tools v0.40.0 // indirect
436436
golang.org/x/tools/go/expect v0.1.1-deprecated // indirect
437437
golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated // indirect
438-
google.golang.org/genproto/googleapis/api v0.0.0-20251029180050-ab9386a59fda // indirect
439-
google.golang.org/genproto/googleapis/rpc v0.0.0-20251029180050-ab9386a59fda // indirect
440-
google.golang.org/protobuf v1.36.10 // indirect
438+
google.golang.org/genproto/googleapis/api v0.0.0-20251222181119-0a764e51fe1b // indirect
439+
google.golang.org/genproto/googleapis/rpc v0.0.0-20251222181119-0a764e51fe1b // indirect
440+
google.golang.org/protobuf v1.36.11 // indirect
441441
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
442442
gopkg.in/inf.v0 v0.9.1 // indirect
443443
gopkg.in/ini.v1 v1.67.0 // indirect
@@ -451,7 +451,7 @@ require (
451451
k8s.io/klog/v2 v2.130.1 // indirect
452452
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect
453453
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect
454-
mvdan.cc/gofumpt v0.8.0 // indirect
454+
mvdan.cc/gofumpt v0.9.1 // indirect
455455
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 // indirect
456456
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
457457
sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect

0 commit comments

Comments
 (0)