Помогите сделать условие проверки существования таблицы перед импортом Ansible

91
23 апреля 2022, 05:30

Имеется такая команда в ansible, которая импортирует в базу mysql какие-то таблицы. Помогите сделать условие проверки существования таблицы перед импортом, если таблица есть то ничего не делаем, если нет - делаем импорт. Я пока вижу это через when

- name: check table in my base
  shell: какое-то условие
  register: result
- name: import zabbix configuration    
  shell: zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u "{{ zabbix_admin }}"  -p"{{ zabbix_admin_password }}" "{{ mysql_db_name }}"
  when: result.rc != 0

Stderr при 2-м запуске пайплана "stderr": "ERROR 1050 (42S01) at line 1: Table 'users' already exists",

Answer 1

Мой кастомный таск для конфига заббикс-сервера (вроде есть официальная роль):

# create database zabbixdb character set utf8 collate utf8_bin;
- mysql_db:
    name: "{{ zabbix_db_name }}"
    encoding: utf8
    collation: utf8_bin
    state: present
  register: new_zabbix_mysql_database
# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u zabbixuser -p zabbixdb
- mysql_db:
    name: "{{ zabbix_db_name }}"
    login_user: "{{ zabbix_db_user }}"
    login_password: "{{ zabbix_db_password }}"
    state: import
    target: /usr/share/doc/zabbix-server-mysql/create.sql.gz
  when: new_zabbix_mysql_database.changed == true
READ ALSO
инсталлятор для программы, работающий с СУБД MySQL

инсталлятор для программы, работающий с СУБД MySQL

Программа разработана в visual studio С# она работает с СУБД MySQLКак при помощи Setup Project создать инсталятор который кроме самой программы устанавливал...

157
Получение списка уникальных диалогов между пользователями, в MySQL

Получение списка уникальных диалогов между пользователями, в MySQL

Имеется таблица переписки между пользователями такого типа

194
Как выбрать запись которой соответствует наибольшее значение в другой таблице?

Как выбрать запись которой соответствует наибольшее значение в другой таблице?

Пытаюсь реализовать запрос, в котором хочу вывести ФИО работника, который выполнил самое большое количество заказов (объектов)

208
Карусель карточек bootstrap

Карусель карточек bootstrap

Необходимо сделать вывод карточек в карусельЯ сделал вот такую вот

234