Skip to content

Commit 554019d

Browse files
authored
Merge pull request #214 from chescales/feature/configure-db-extensions
Added the possibility to configure `db_extensions` in the `.aldryn` file
2 parents 9d493dc + 7593042 commit 554019d

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

divio_cli/localdev/main.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ def del_rw(action, name, exc):
162162

163163

164164
class DatabaseImportBase(object):
165-
database_extensions = ['hstore', 'postgis']
166165
restore_commands = {
167166
'sql': 'psql -U postgres db < {}',
168167
'binary': (
@@ -183,6 +182,7 @@ def __init__(self, *args, **kwargs):
183182
self.website_id = utils.get_aldryn_project_settings(self.path)['id']
184183
self.website_slug = utils.get_aldryn_project_settings(self.path)['slug']
185184
self.docker_compose = utils.get_docker_compose_cmd(self.path)
185+
self.database_extensions = self.get_active_db_extensions()
186186
docker_compose_config = utils.DockerComposeConfig(self.docker_compose)
187187
if not docker_compose_config.has_service('db'):
188188
click.secho('No service "db" found in local project', fg='red')
@@ -202,6 +202,21 @@ def run(self):
202202
self.restore_db()
203203
self.finish()
204204

205+
def get_active_db_extensions(self):
206+
project_settings = utils.get_aldryn_project_settings(self.path)
207+
default_db_extensions = ['hstore', 'postgis']
208+
209+
if 'db_extensions' in project_settings:
210+
if not isinstance(project_settings['db_extensions'], list):
211+
raise click.ClickException(
212+
'{} file contains invalid "db_extensions" value. '
213+
'It should contain a list of extensions, for instance: {}'
214+
.format(settings.ALDRYN_DOT_FILE, default_db_extensions)
215+
)
216+
return project_settings['db_extensions']
217+
else:
218+
return default_db_extensions
219+
205220
def prepare_db_server(self):
206221
utils.start_database_server(self.docker_compose)
207222

0 commit comments

Comments
 (0)