18
05

Backup di un database con ruby

postato da Administrator, in Ruby on rails, tutorials.

In questo tutorial vedremo come creare uno script in ruby per effettuare il backup di tutto o una parte di un database. Il risultato sarà un file con le istruzioni sql.

require 'dbi'  
tables = "tabella_per_backup1", "tabella_per_backup2" 
data = Array.new 
dbh = DBI.connect("DBI:Mysql:my_db", "user", "psswd" )  
tables.each{ |table|  
    # visualizza le tabelle  
    str = "SHOW CREATE table #{table};" 
    sth = dbh.prepare( str )  
    sth.execute  
    data.push sth.fetch[1].gsub( /`/, "" ) + ";" 
    # e il loro contenuto 
    str = "SELECT * FROM #{table};" 
    sth = dbh.prepare( str )  
    sth.execute  
    # fa un ciclo e crea codice sql
    while row=sth.fetch  
        insert = "INSERT INTO #{table} VALUES(" 
        first = true 
        row.each{ |val|  
            if val.nil?  
                insert << ", null" 
            else 
                val = "#{val}" 
                val.gsub!( /"/, "\\\"" )  
                first == true ? insert << "\"#{val}\"" : insert << ",\"#{val}\"" 
            end 
            first = nil 
        }  
        insert << ");" 
        data.push insert  
    end 
}  
dbh.disconnect 
# stampa il tutto
data.each_index{ |i|  
    puts data[i]  
}  

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • blinkbits
  • BlinkList
  • blogmarks
  • co.mments
  • del.icio.us
  • De.lirio.us
  • digg
  • Fark
  • feedmelinks
  • Furl
  • LinkaGoGo
  • Ma.gnolia
  • NewsVine
  • Reddit
  • scuttle
  • Smarking
  • Spurl
  • YahooMyWeb
  • DZone
  • Internetmedia
  • Snap2r
  • Technorati

Letto:483 volte

Correlati

    No related posts

Leave a Reply

web tracker