aboutsummaryrefslogtreecommitdiffstats
path: root/roles/mediawiki/tasks/database.yml
blob: b00a8a1ae4274755aee8e68b3d41dcbe0ccd15d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
- name: create postgresql database
  postgresql_db:
    name: '{{ mediawiki_db_name }}'
    state: present
  delegate_to: "{{ postgresql_host.split('.')[0] }}"
  become: True
  become_user: postgres

- name: create postgresql user
  postgresql_user:
    name: '{{ mediawiki_user }}'
    db: '{{ mediawiki_db_name }}'
    priv: ALL
    state: present
  delegate_to: "{{ postgresql_host.split('.')[0] }}"
  become: True
  become_user: postgres

- name: check if database schema is initialized
  postgresql_query:
    login_user: '{{ mediawiki_user }}'
    login_host: '{{ mediawiki_db_host }}'
    db: '{{ mediawiki_db_name }}'
    query: SELECT 1 FROM mediawiki.page
  become: True
  become_user: apache
  environment:
    GSS_USE_PROXY: 'yes'
  register: mediawiki_check_db
  failed_when: false

- name: initialize database schema
  command: >
    php {{ mediawiki_home }}/maintenance/install.php
    --server {{ mediawiki_url }}
    --dbuser {{ mediawiki_user }}
    --dbname {{ mediawiki_db_name }}
    --dbserver {{ mediawiki_db_host }}
    --dbtype postgres
    --pass {{ mediawiki_admin_password | quote }}
    --scriptpath /
    {{ mediawiki_site_name | quote }}
    {{ mediawiki_admin_username }}
  become: True
  become_user: apache
  environment:
    GSS_USE_PROXY: 'yes'
  when:
    - mediawiki_check_db.msg is defined
    - mediawiki_check_db.msg is search('relation "mediawiki.page" does not exist')