dsn = @db_dsn.split(':')
if dsn[2].nil? then
dsn[1].split(';').each do |attr|
- case attr.split('=')[0].strip.eql? "database"
+ case attr.split('=')[0].strip
when /database/i then
name = attr.split('=')[1].strip
when /host/i then
name = dsn[1].strip
host = dsn[2].strip
end
+
+ File.open("create_db.txt","w") do |f|
+ f.puts "GRANT ALL ON #{name}.* TO '#{@db_user}'@'%' IDENTIFIED BY '#{@db_passwd}';"
+ f.puts "CREATE DATABASE #{name};"
+ end
+
if host.eql? "localhost" or host.eql? "127.0.0.1" then
- File.open("create_db.txt","w") do |f|
- f.puts "GRANT ALL ON #{name}.* TO '#{@db_user}'@'#{host}' IDENTIFIED BY '#{@db_passwd}';"
- f.puts "CREATE DATABASE #{name};"
- end
socket_str = ""
socket_str = "--socket=#{socket}" if not socket.nil?
puts "Mysql DB #{name} generating"
system("mysql -h #{host} #{socket_str} -u #{@db_user} --password=#{@db_passwd} < create_db.txt")
+ else
+ port_str = ""
+ port_str = "-P #{port}" if not port.nil?
+ puts "Mysql DB #{name} generating"
+ system("mysql -h #{host} #{port_str} -u #{@db_user} --password=#{@db_passwd} < create_db.txt")
end
else puts "not support DB #{@db_dsn}"
end