graphile / graphile/crystal

Allow using @deprecated on tables

Open
#1,561 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
12.9k
Forks
625
Avg merge
5h 23m
Merged PRs (30d)
24

Description

### Feature description

Currently it's possible to deprecate functions and columns using the `@deprecated` [smart tag](https://www.graphile.org/postgraphile/smart-tags/#omit). It'd be great to support adding `@deprecated` to a table, which would mark e.g. the following as deprecated in the GraphQL schema:
- any `allFoos` query
- any foreign key references to this table from other tables/functions

### Motivating example

Big projects will have tons of tables and developers often need to deprecate tables as business or technical requirements change. There's currently no easy way to deprecate a table. One alternative solution is to write a plugin, but it requires diving into PostGraphile internals.

### Supporting development

I

- [ ] am interested in building this feature myself
- [x] am interested in collaborating on building this feature
- [x] am willing to help testing this feature before it's released
- [ ] am willing to write a test-driven test suite for this feature (before it exists)
- [x] am a [Graphile sponsor](https://www.graphile.org/sponsor/) ❤️
- [ ] have an active [support or consultancy contract](https://www.graphile.org/support/) with Graphile

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.