Ответ 1
Попробуйте в db/seeds.rb выполнить необработанный SQL с rake db: seed
connection = ActiveRecord::Base.connection()
connection.execute("*_YOUR_SQL_HERE_*")
Я хочу выполнить этот sql script внутри моего seed.rb
LOAD DATA LOCAL INFILE '/home/list-38.csv'
INTO TABLE list
FIELDS TERMINATED BY ':'
LINES TERMINATED BY '\n'
(email,name,password);
Я проверил эту ссылку, но не смог определить решение. Так что, когда мы запускаем rake db: seed
Как засеять базу данных mysql, запустив sql-скрипты на платформе Ruby Rails? он выгружает мои данные в таблицу.
любые запросы..do ответ
Thanx
Попробуйте в db/seeds.rb выполнить необработанный SQL с rake db: seed
connection = ActiveRecord::Base.connection()
connection.execute("*_YOUR_SQL_HERE_*")
Для нескольких операторов sql я закончил итерацию каждого оператора отдельно:
# 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
Вариант ответа Fredrik Boström, который может загружаться из файла:
# 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')