diff --git a/mysql/database.sls b/mysql/database.sls index 977a052..c3f5dd3 100644 --- a/mysql/database.sls +++ b/mysql/database.sls @@ -13,19 +13,29 @@ include: {% for database_obj in salt['pillar.get']('mysql:database', []) %} {% set state_id = 'mysql_db_' ~ loop.index0 %} -{% set database = database_obj.get('name') if database_obj is mapping else database_obj %} +{% if database_obj is mapping %} +{% set database = database_obj.get('name') %} +{% set present = database_obj.get('present', True) %} +{% else %} +{% set database = database_obj %} +{% set present = True %} +{% endif %} {{ state_id }}: + {%- if present %} mysql_database.present: + {% if database_obj is mapping %} + - character_set: {{ database_obj.get('character_set', '') }} + - collate: {{ database_obj.get('collate', '') }} + {% endif %} + {% else %} + mysql_database.absent: + {% endif %} - name: {{ database }} - connection_host: '{{ mysql_host }}' - connection_user: '{{ mysql_salt_user }}' {% if mysql_salt_pass %} - connection_pass: '{{ mysql_salt_pass }}' {% endif %} - {% if database_obj is mapping %} - - character_set: {{ database_obj.get('character_set', '') }} - - collate: {{ database_obj.get('collate', '') }} - {% endif %} - connection_charset: utf8 {% if salt['pillar.get'](['mysql', 'schema', database, 'load']|join(':'), False) %} diff --git a/pillar.example b/pillar.example index bcdbf82..112d542 100644 --- a/pillar.example +++ b/pillar.example @@ -72,6 +72,9 @@ mysql: - name: bar character_set: utf8 collate: utf8_general_ci + # Delete DB + - name: obsolete_db + present: False schema: foo: load: True