hasura / graphql-engine

Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.
https://hasura.io
Apache License 2.0
31.04k stars 2.76k forks source link

actions: metadata does not update when custom types are removed #4967

Open xzilja opened 4 years ago

xzilja commented 4 years ago

Current Behaviour

Assume you are working on an action that is in development, it is natural to return to it multiple times and re-do type definitions or delete them. When new types are added or old types are edited hasura updates hdb_custom_types by creating new types. However old types also remain there (even though those old types are now not used anywhere). This creates a lot of dead code in areas like schema and type definitions.

Right now the only way to get rid of this "Dead" code is to manually remove these types from hdb_custom_types table, ensure your metadata.yaml file gets updated and then run hasura metadata apply (otherwise I was still able to see these types in schema for some reason, even though they were not in database and in metadata anymore).

Expected Behaviour

When we edit custom type / delete it and it is not being referenced anywhere else, it should be removed completely from related table / metadata and users should not need to run hasura metadata apply in order to ensure it is gone from everywhere.

manasag commented 5 months ago

Hi, I want to update that we are launching Hasura V3 (DDN) this month. In V3, metadata authoring is an entirely local configuration building step; and gets applied as an immutable build once you are ready with your changes. What gets build is exactly what you have as your local metadata files, thus promising a deterministic schema.

I would highly suggest to join us to see the full power of Hasura DDN at the Hasura Dev Day on April 16 :tada:. Sign up here: https://hasura.io/dev-day. Can't make it? Sign up anyway and we'll send you the recording.