Hacker News new | ask | show | jobs
by ecesena 1077 days ago
My recommendation is to use a json blob for everything but type (that I would rename) and a unique user identifier (that I don’t see in your schema).

You will never have to query by any of these fields, and the schema is not well defined as you said. Therefore you can load all user properties by user id (or combo type + identifier), parse json blob, access any field you need.

You’ll never need a (painful) schema change.

Hope this helps, good luck!

1 comments

Thank you! That's a good idea. I have fields for user_id and organization_id that I omitted.

What would you rename type to?

Now here's what I'm thinking

id: uuid | name: string (ex 'Google', 'Microsoft') | type: string (ex 'calendar','task-management'')| properties: jsonb

We just launched Poozle (https://github.com/poozlehq/engine) which manages Oauth for different integrations and also provide unified data model.

Would love to get your feedback on the same.

Thanks! This has potential. I'll play around with this when I have some time.