Skip to content

Commit

Permalink
renamed datastore urls and removed ckan.datastore.enabled = 1
Browse files Browse the repository at this point in the history
  • Loading branch information
domoritz committed Sep 19, 2012
1 parent b0c5401 commit 504917d
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 23 deletions.
9 changes: 5 additions & 4 deletions ckan/config/deployment.ini_tmpl
Expand Up @@ -44,6 +44,11 @@ sqlalchemy.url = postgresql://ckanuser:pass@localhost/ckantest
#sqlalchemy.url = sqlite:///
#sqlalchemy.url = sqlite:///%(here)s/somedb.db

## Datastore
## Uncommment to set the datastore urls
#ckan.datastore.write_url = postgresql://ckanuser:pass@localhost/ckantest
#ckan.datastore.read_url = postgresql://readonlyuser:pass@localhost/ckantest

# repoze.who config
who.config_file = %(here)s/who.ini
who.log_level = warning
Expand Down Expand Up @@ -226,10 +231,6 @@ ckan.feeds.author_link =
#ofs.aws_access_key_id = ....
#ofs.aws_secret_access_key = ....

## Webstore
## Uncommment to enable datastore
# ckan.datastore.enabled = 1

## ===================================
## Extensions

Expand Down
4 changes: 2 additions & 2 deletions ckanext/datastore/commands.py
Expand Up @@ -68,8 +68,8 @@ def command(self):
cmd = self.args[0]
self._load_config()

self.urlparts_w = self._get_db_config('ckan.datastore_write_url')
self.urlparts_r = self._get_db_config('ckan.datastore_read_url')
self.urlparts_w = self._get_db_config('ckan.datastore.write_url')
self.urlparts_r = self._get_db_config('ckan.datastore.read_url')
self.urlparts_c = self._get_db_config('sqlalchemy.url')

assert self.urlparts_w['db_name'] == self.urlparts_r['db_name'], "write and read db should be the same"
Expand Down
10 changes: 5 additions & 5 deletions ckanext/datastore/logic/action.py
Expand Up @@ -39,7 +39,7 @@ def datastore_create(context, data_dict):

p.toolkit.check_access('datastore_create', context, data_dict)

data_dict['connection_url'] = pylons.config['ckan.datastore_write_url']
data_dict['connection_url'] = pylons.config['ckan.datastore.write_url']

# validate aliases
aliases = db._get_list(data_dict.get('aliases', []))
Expand Down Expand Up @@ -84,7 +84,7 @@ def datastore_upsert(context, data_dict):

p.toolkit.check_access('datastore_upsert', context, data_dict)

data_dict['connection_url'] = pylons.config['ckan.datastore_write_url']
data_dict['connection_url'] = pylons.config['ckan.datastore.write_url']

result = db.upsert(context, data_dict)
result.pop('id')
Expand Down Expand Up @@ -114,7 +114,7 @@ def datastore_delete(context, data_dict):

p.toolkit.check_access('datastore_delete', context, data_dict)

data_dict['connection_url'] = pylons.config['ckan.datastore_write_url']
data_dict['connection_url'] = pylons.config['ckan.datastore.write_url']

result = db.delete(context, data_dict)
result.pop('id')
Expand Down Expand Up @@ -160,7 +160,7 @@ def datastore_search(context, data_dict):
'''
res_id = _get_or_bust(data_dict, 'resource_id')

data_dict['connection_url'] = pylons.config['ckan.datastore_read_url']
data_dict['connection_url'] = pylons.config['ckan.datastore.read_url']

resources_sql = sqlalchemy.text(u'SELECT 1 FROM "_table_metadata" WHERE name = :id')
results = db._get_engine(None, data_dict).execute(resources_sql, id=res_id)
Expand Down Expand Up @@ -203,7 +203,7 @@ def datastore_search_sql(context, data_dict):

p.toolkit.check_access('datastore_search', context, data_dict)

data_dict['connection_url'] = pylons.config['ckan.datastore_read_url']
data_dict['connection_url'] = pylons.config['ckan.datastore.read_url']

result = db.search_sql(context, data_dict)
result.pop('id', None)
Expand Down
18 changes: 9 additions & 9 deletions ckanext/datastore/plugin.py
Expand Up @@ -25,13 +25,13 @@ class DatastorePlugin(p.SingletonPlugin):

def configure(self, config):
self.config = config
# check for ckan.datastore_write_url and ckan.datastore_read_url
if (not 'ckan.datastore_write_url' in config):
error_msg = 'ckan.datastore_write_url not found in config'
# check for ckan.datastore.write_url and ckan.datastore.read_url
if (not 'ckan.datastore.write_url' in config):
error_msg = 'ckan.datastore.write_url not found in config'
raise DatastoreException(error_msg)

if (not 'ckan.datastore_read_url' in config):
error_msg = 'ckan.datastore_read_url not found in config'
if (not 'ckan.datastore.read_url' in config):
error_msg = 'ckan.datastore.read_url not found in config'
raise DatastoreException(error_msg)

# Check whether we are running one of the paster commands which means
Expand All @@ -43,8 +43,8 @@ def configure(self, config):
return

self.ckan_url = self.config['sqlalchemy.url']
self.write_url = self.config['ckan.datastore_write_url']
self.read_url = self.config['ckan.datastore_read_url']
self.write_url = self.config['ckan.datastore.write_url']
self.read_url = self.config['ckan.datastore.read_url']

if not self._is_read_only_database():
# Make sure that the right permissions are set
Expand All @@ -69,7 +69,7 @@ def configure(self, config):
def new_resource_show(context, data_dict):
engine = db._get_engine(
context,
{'connection_url': config['ckan.datastore_read_url']}
{'connection_url': config['ckan.datastore.read_url']}
)
new_data_dict = resource_show(context, data_dict)
try:
Expand Down Expand Up @@ -185,7 +185,7 @@ def _create_alias_table(self):
'''
create_alias_table_sql = u'CREATE OR REPLACE VIEW "_table_metadata" AS {0}'.format(mapping_sql)
connection = db._get_engine(None,
{'connection_url': pylons.config['ckan.datastore_write_url']}).connect()
{'connection_url': pylons.config['ckan.datastore.write_url']}).connect()
connection.execute(create_alias_table_sql)

def get_actions(self):
Expand Down
6 changes: 3 additions & 3 deletions doc/datastore.rst
Expand Up @@ -44,10 +44,10 @@ In your config file ensure that the datastore extension is enabled::

ckan.plugins = datastore

Also ensure that the ``ckan.datastore_write_url`` and ``datastore_read_url`` variables are set::
Also ensure that the ``ckan.datastore.write_url`` and ``datastore.read_url`` variables are set::

ckan.datastore_write_url = postgresql://ckanuser:pass@localhost/datastore
ckan.datastore_read_url = postgresql://readonlyuser:pass@localhost/datastore
ckan.datastore.write_url = postgresql://ckanuser:pass@localhost/datastore
ckan.datastore.read_url = postgresql://readonlyuser:pass@localhost/datastore

A few things have to be kept in mind

Expand Down

0 comments on commit 504917d

Please sign in to comment.