diff --git a/puppet/modules/contenttranslation/manifests/init.pp b/puppet/modules/contenttranslation/manifests/init.pp index 31ac17e9..f8dcad70 100644 --- a/puppet/modules/contenttranslation/manifests/init.pp +++ b/puppet/modules/contenttranslation/manifests/init.pp @@ -118,9 +118,33 @@ class contenttranslation( require => Mysql::User[$database_user], } - mysql::sql { 'Load ContentTranslation schema': - sql => "USE ${database}; SOURCE ${::mediawiki::dir}/extensions/ContentTranslation/sql/contenttranslation.sql;", - unless => template('contenttranslation/load_unless.sql.erb'), + mysql::sql { 'Create translations table': + sql => "USE ${database}; SOURCE ${::mediawiki::dir}/extensions/ContentTranslation/sql/translations.sql;", + unless => "SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '${database}' AND table_name = 'cx_translations'", + require => Git::Clone['mediawiki/extensions/ContentTranslation'], + } + + mysql::sql { 'Create translators table': + sql => "USE ${database}; SOURCE ${::mediawiki::dir}/extensions/ContentTranslation/sql/translators.sql;", + unless => "SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '${database}' AND table_name = 'cx_translators'", + require => Git::Clone['mediawiki/extensions/ContentTranslation'], + } + + mysql::sql { 'Create lists table': + sql => "USE ${database}; SOURCE ${::mediawiki::dir}/extensions/ContentTranslation/sql/lists.sql;", + unless => "SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '${database}' AND table_name = 'cx_lists'", + require => Git::Clone['mediawiki/extensions/ContentTranslation'], + } + + mysql::sql { 'Create suggestions table': + sql => "USE ${database}; SOURCE ${::mediawiki::dir}/extensions/ContentTranslation/sql/suggestions.sql;", + unless => "SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '${database}' AND table_name = 'cx_suggestions'", + require => Git::Clone['mediawiki/extensions/ContentTranslation'], + } + + mysql::sql { 'Create corpora table': + sql => "USE ${database}; SOURCE ${::mediawiki::dir}/extensions/ContentTranslation/sql/parallel-corpora.sql;", + unless => "SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '${database}' AND table_name = 'cx_corpora'", require => Git::Clone['mediawiki/extensions/ContentTranslation'], } } diff --git a/puppet/modules/contenttranslation/templates/load_unless.sql.erb b/puppet/modules/contenttranslation/templates/load_unless.sql.erb deleted file mode 100644 index d439a671..00000000 --- a/puppet/modules/contenttranslation/templates/load_unless.sql.erb +++ /dev/null @@ -1,4 +0,0 @@ -SELECT COUNT(*) -FROM INFORMATION_SCHEMA.TABLES -WHERE table_schema = '<%= @database %>' - AND table_name = 'cx_translations' diff --git a/puppet/modules/role/manifests/contenttranslation.pp b/puppet/modules/role/manifests/contenttranslation.pp index 3846a69a..61c889e9 100644 --- a/puppet/modules/role/manifests/contenttranslation.pp +++ b/puppet/modules/role/manifests/contenttranslation.pp @@ -39,6 +39,7 @@ class role::contenttranslation { include ::role::uls include ::role::parsoid include ::role::echo + include ::role::visualeditor include ::contenttranslation::cxserver include ::contenttranslation }