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.
