I'm working on an application with plugins, where new plugins created after 
the application has been deployed may need to add tables to the schema. 

Any thoughts on a good way to deal with this?

So far I'm thinking about each plugin generate its jooq classes in its own 
package for access to its specific tables, while importing the main 
application's published jooq classes to access the main application tables. 
 If a plugin depends on another plugin too it would have to import that 
plugin's generated classes.  

Any thoughts on how to handle the main application's schema changing?  For 
example if a column type needs to change, or some columns need to be added 
or removed.

So far I'm thinking either to disallow changing column types and removing 
columns, allowing only to add new columns and providing migration code,  or 
to implement a sort of runtime version control on the plugins and maintain 
some information about which plugins require which version of the schema so 
they can be automatically disabled or the user notified before any sql 
errors happen.


-- 
You received this message because you are subscribed to the Google Groups "jOOQ 
User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to