Added charset and collate support, ensuring backwards compatibility

This commit is contained in:
Eduardo Speroni 2018-02-02 11:51:32 -02:00
parent 6403ba2e57
commit 71c12e4a27
2 changed files with 11 additions and 2 deletions

View file

@ -12,8 +12,9 @@
include:
- mysql.python
{% for database in salt['pillar.get']('mysql:database', []) %}
{% 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 %}
{{ state_id }}:
mysql_database.present:
- name: {{ database }}
@ -22,6 +23,10 @@ include:
{% 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) %}

View file

@ -49,8 +49,12 @@ mysql:
# Manage databases
database:
# Simple definition using default charset and collate
- foo
- bar
# Detailed definition
- name: bar
character_set: utf8
collate: utf8_general_ci
schema:
foo:
load: True