code: public void initializeExtensions() throws SQLException {
          if (extensionsNeedInitialization) {
              for (EmbeddedDbExtension ext : MdwServiceRegistry.getInstance().getEmbeddedDbExtensions()) {
                  logger.info("Initializing embedded db extension: " + ext);
                  List<String> sources = ext.getSqlSourceAssets();
                  if (sources != null) {
                      try {
                          for (String source : sources) {
                              String assetPath = source;
                              if (source.indexOf('/') == -1)
                                  assetPath = ext.getClass().getPackage().getName() + "/" + source;
                              logger.info("Sourcing asset sql script: " + assetPath);
                              String contents = AssetCache.getAsset(assetPath).getStringContent();
                              embeddedDb.source(contents);
                          }
                      }
                      catch (Exception ex) {
                          throw new SQLException("Error processing db extension " + ext.getClass(), ex);
                      }
                  }
                  ext.initialize();
              }
              extensionsNeedInitialization = false;
          }
      }
docs: Initialize embedded db extensions (this one-time step is only performed when
  the mdw embedded db tables are not present at startup).