Skip to content

Commit

Permalink
delete alias when deleting the main resource
Browse files Browse the repository at this point in the history
  • Loading branch information
domoritz committed Aug 29, 2012
1 parent 20cf25f commit 65c600e
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions ckanext/datastore/db.py
Expand Up @@ -209,15 +209,18 @@ def create_table(context, data_dict):
alias = data_dict.get('alias', None)
if alias:
# create alias view
sql_alias_string = u'create view "{alias}" as select * from "{main}"'.format(main=data_dict['resource_id'], alias=alias)
sql_alias_string = u'create view "{alias}" as select * from "{main}"'.format(
main=data_dict['resource_id'], alias=alias
)
context['connection'].execute(sql_alias_string)

# add view to alias table
sql_add_alias = u'insert into "alias_mapping" values (\'{main}\', \'{alias}\')'.format(main=data_dict['resource_id'], alias=alias)
sql_add_alias = u'insert into "alias_mapping" values (\'{main}\', \'{alias}\')'.format(
main=data_dict['resource_id'], alias=alias
)
context['connection'].execute(sql_add_alias)



def alter_table(context, data_dict):
'''alter table from combination of fields and first row of data'''
supplied_fields = data_dict.get('fields', [])
Expand Down Expand Up @@ -549,7 +552,10 @@ def delete(context, data_dict):
})
if not 'filters' in data_dict:
context['connection'].execute(
u'drop table "{}"'.format(data_dict['resource_id'])
u'drop table "{}" cascade'.format(data_dict['resource_id'])
)
context['connection'].execute(
u"delete from alias_mapping where main = '{}'".format(data_dict['resource_id'])
)
else:
delete_data(context, data_dict)
Expand Down

0 comments on commit 65c600e

Please sign in to comment.