diff options
Diffstat (limited to 'plugins/puppet/provider/mysql_schema/mysql.rb')
-rw-r--r-- | plugins/puppet/provider/mysql_schema/mysql.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/plugins/puppet/provider/mysql_schema/mysql.rb b/plugins/puppet/provider/mysql_schema/mysql.rb new file mode 100644 index 0000000..2b582c1 --- /dev/null +++ b/plugins/puppet/provider/mysql_schema/mysql.rb @@ -0,0 +1,29 @@ +require 'puppet/provider/package' + +Puppet::Type.type(:mysql_schema).provide(:mysql) do + + desc "Create a Mysql schema." + commands :mysqladmin => '/usr/bin/mysqladmin' + commands :mysql => '/usr/bin/mysql' + + def create + # Pipe the ddl to mysql + open("| #{command(:mysql)} -u root -p#{@resource[:rootpw]} #{@resource[:db]}", "w") do |pipe| + pipe.puts(File.read(@resource[:name])) + end + end + + def destroy + #noop + end + + def exists? + if mysql("-u", "root", "-p", @resource[:rootpw], "-NBe", "show tables", @resource[:db]).empty? + false + else + true + end + end +end + + |