rhunwicks commented on issue #3302: Create a PandasDatasource
URL: 
https://github.com/apache/incubator-superset/issues/3302#issuecomment-329089561
 
 
   @xrmx said:
   
   >  don't see how having migrations for the superset database separated from 
the upstream one can work
   
   In theory, we could change the `superset/migrations/env.py` to read the 
value of `version_locations` from `current_app.config` the same way it reads 
`sqlalchemy.url`. Then anyone wanting to deploy a homegrown connector could add 
a new directory alongside superset:
   
   ```
   superset/
       migrations/
   xmymodule/
       connectors/
       migrations/
           versions/
   ```
   
   And then they could update their local `superset_config.py` to both load the 
custom connector and update the version locations:
   
   ```python
   # Include additional data sources
   ADDITIONAL_MODULE_DS_MAP = {
       'xmymodule.connectors.pandas.models': ['PandasDatasource'],
   }
   # And their migrations
   ADDITIONAL_VERSION_LOCATIONS = ['xmymodule/migrations/versions']
   ```
   
   Possibly you want to specify the version locations as modules rather than 
directories:
   
   ```python
   ADDITIONAL_VERSION_LOCATIONS = ['xmymodule.migrations.versions']
   ```
   It would create an extension point that would allow people to add new 
functionality to Superset that requires migrations, without needing them to 
maintain a fork. And it would make it easier for other people to choose to 
deploy those extensions in their Superset installation without having to try 
and merge in code to their own fork - they could just deploy Superset and `git 
clone` in the repos for the extension(s) they want.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to