Ich benutze connection_ninja (https://github.com/cherring/connection_ninja), um eine Verbindung zu einer remote mysql-Datenbank von meiner Rails-Anwendung herzustellen. Ich habe eine Methode in meinem Modell, die eine CSV-Datei lädt mit 'load data local infile ..' von dem Server, auf dem meine Rails-App in die remote mysql db läuft.Aktivieren von local-infile zum Laden von Daten in remote mysql von Rails
Der Code ist wie folgt:
class Product < ActiveRecord::Base
@conn = use_connection_ninja(:rl_op)
self.table_name = 'RlProduct'
def self.update(file_path)
sql = "LOAD DATA LOCAL INFILE '#{file_path}'
INTO TABLE RlProduct
FIELDS TERMINATED BY ',' ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
(name,price,productId)"
@conn.connection().execute(sql)
end
end
Dies wird mir die folgende Fehlermeldung geben:
Mysql2::Error: The used command is not allowed with this MySQL version: LOAD DATA LOCAL INFILE..
ich meinen Schienen-app local-infile=1
in [mysql]
Abschnitt /etc/mysql/my.cnf
des Servers ausgeführt wird eingestellt haben. Und das erlaubt mir, die Daten in die entfernte Datenbank zu importieren, wenn ich mich direkt auf dem Server in mysql anmelde und dort den Befehl load data local ... ausführe.
Wie kann ich local-infile = 1 auch für meinen Rails-Code setzen?
Ich liebe dich! Überall gesucht nach diesem – Kevin
yeah, das ist nicht die am häufigsten verwendete Funktion) genießen;) – trushkevich
wo ich diese Datei finden kann ... Ich benutze mysql Server 5.6 – saikiran