specific seeds run rails generate commands ruby-on-rails seed

ruby on rails - seeds - Ejecutar script sql dentro de seed.rb en rails3



run specific seed rails (3)

Intente esto en db / seeds.rb para ejecutar SQL sin formato con rake db: seed

connection = ActiveRecord::Base.connection() connection.execute("*_YOUR_SQL_HERE_*")

Quiero ejecutar este script sql dentro de mi seed.rb

LOAD DATA LOCAL INFILE ''/home/list-38.csv'' INTO TABLE list FIELDS TERMINATED BY '':'' LINES TERMINATED BY ''/n'' (email,name,password);

Revisé este enlace pero no pude encontrar la solución. Así que una vez ejecutamos rake db: seed

¿Cómo sembrar la base de datos mysql ejecutando scripts SQL en la plataforma Ruby Rails? Vuelca mis datos en la tabla.

cualquier consulta .. do responder

Gracias


Para varias sentencias de SQL, terminé iterando sobre cada sentencia por separado:

# db/seeds.rb connection = ActiveRecord::Base.connection() sql = <<-EOL INSERT INTO users values (''Admin''); INSERT INTO categories values (''Supervisors''); EOL sql.split('';'').each do |s| connection.execute(s.strip) unless s.strip.empty? end


Una variación de la respuesta de Fredrik Boström que se puede cargar desde un archivo:

# db/seeds.rb def execute_sql_file(path, connection = ActiveRecord::Base.connection) require ''active_support/core_ext/object/blank.rb'' IO.read(path).split('';'').reject(&:blank?).each do |statement| connection.execute(statement) end end execute_sql_file(''my.sql'')