Skip to content

Commit

Permalink
Merge pull request #45 from mindsdb/del-ds-cascade
Browse files Browse the repository at this point in the history
Delete datasource cascade
  • Loading branch information
ea-rus authored Oct 23, 2024
2 parents 49f1ab4 + ac987b5 commit ccafa69
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 6 deletions.
10 changes: 7 additions & 3 deletions minds/datasources/datasources.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def create(self, ds_config: DatabaseConfig, replace=False):
if replace:
try:
self.get(name)
self.drop(name)
self.drop(name, force=True)
except exc.ObjectNotFound:
...

Expand Down Expand Up @@ -76,11 +76,15 @@ def get(self, name: str) -> Datasource:
raise exc.ObjectNotSupported(f'Wrong type of datasource: {name}')
return Datasource(**data)

def drop(self, name: str):
def drop(self, name: str, force=False):
"""
Drop datasource by name
:param name: name of datasource
:param force: if True - remove from all minds, default: False
"""
data = None
if force:
data = {'cascade': True}

self.api.delete(f'/datasources/{name}')
self.api.delete(f'/datasources/{name}', data=data)
8 changes: 6 additions & 2 deletions minds/rest_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,12 @@ def get(self, url):
_raise_for_status(resp)
return resp

def delete(self, url):
resp = requests.delete(self.base_url + url, headers=self._headers())
def delete(self, url, data=None):
resp = requests.delete(
self.base_url + url,
headers=self._headers(),
json=data
)

_raise_for_status(resp)
return resp
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/test_base_flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def test_datasources():

# remove previous object
try:
client.datasources.drop(example_ds.name)
client.datasources.drop(example_ds.name, force=True)
except ObjectNotFound:
...

Expand Down

0 comments on commit ccafa69

Please sign in to comment.