Tek tek SQL deyimleri almak ve bunları ray denetleyicisinden çalıştırmak için bir dosyayı ayrıştırmam gerekiyor.Sınırlayıcıyı ayırmadan ayırma dizesi
Aşağıdaki kod var:
@sql_file = "#{RAILS_ROOT}/lib/evidence_interface_import.sql"
@sql_stmts_array = File.read(@sql_file).split(";")
@sql_stmts_array.each_with_index do |sql_stmt,s_index|
ActiveRecord::Base.connection.execute(sql_stmt)
end
bölünmüş kaldırır ";" SQL'lerin sonundan. ";" Yi kaldırmamak için bir yol var mı ve hala ";" ile ayrılır.
Sözdizimi satırlar için yanlıştır (Ayırıcı ='; ')' - bu işe yarayacaktır ama kötü yazılmış. Bunun yerine satırlar (';') 'olmalıdır. Ancak, 'File.readlines (@sql_file, ';')' yi kullanın çünkü daha kısadır ve aynı şeyi gerçekleştirir. Tonlama ve string manipülasyonunu içeren birçok vaka için –