From ef312bc5e5095fae825b8d1a6c5f1c75a49c91e8 Mon Sep 17 00:00:00 2001 From: Brandon Matthews Date: Sat, 26 Jul 2014 23:48:56 -0700 Subject: [PATCH] clever way to load DB schemas in 2014.1 --- mysql/database.sls | 15 +++++++++++++++ pillar.example | 6 ++++++ 2 files changed, 21 insertions(+) diff --git a/mysql/database.sls b/mysql/database.sls index dc021ac..4ed424a 100644 --- a/mysql/database.sls +++ b/mysql/database.sls @@ -16,5 +16,20 @@ include: - connection_pass: '{{ mysql_root_pass }}' - connection_charset: utf8 +{% if salt['pillar.get'](['mysql', 'schema', database, 'load']|join(':'), False) %} +{{ state_id }}_schema: + file.managed: + - name: /etc/mysql/{{ database }}.schema + - source: {{ salt['pillar.get'](['mysql', 'schema', database, 'source']|join(':')) }} + - user: {{ salt['pillar.get']('mysql:server:user', 'mysql') }} + +{{ state_id }}_load: + cmd.wait: + - name: mysql -u root -p{{ mysql_root_pass }} {{ database }} < /etc/mysql/{{ database }}.schema + - watch: + - file: {{ state_id }}_schema + - mysql_database: {{ state_id }} +{% endif %} + {% do db_states.append(state_id) %} {% endfor %} diff --git a/pillar.example b/pillar.example index 07c2b04..534cca3 100644 --- a/pillar.example +++ b/pillar.example @@ -9,6 +9,12 @@ mysql: database: - foo - bar + schema: + foo: + load: True + source: salt://mysql/files/foo.schema + bar: + load: False # Manage users user: