orgのテーブルにLOAD DATA LOCAL INFILEが通った
This commit is contained in:
parent
aca85704da
commit
4226ad9db1
@ -23,13 +23,10 @@ class JjskDataLoadManager:
|
||||
# orgをtruncate
|
||||
db.execute(f"TRUNCATE TABLE {table_name_org};")
|
||||
|
||||
# load DATA local infileステートメント実行許可設定
|
||||
db.execute("SET GLOBAL local_infile=on;")
|
||||
|
||||
# orgにload ※warningは1148エラーになるらしい
|
||||
sql = f"LOAD DATA LOCAL INFILE '{src_file_name}' INTO TABLE {table_name_org} FIELDS TERMINATED BY '\\t' ENCLOSED BY \"'\" IGNORE 1 LINES;"
|
||||
cnt = db.execute(sql)
|
||||
logger.info(f'tsvデータをorgテーブルにLOAD : 件数({cnt})')
|
||||
sql = f"LOAD DATA LOCAL INFILE :src_file_name INTO TABLE {table_name_org} FIELDS TERMINATED BY '\\t' ENCLOSED BY '\"' IGNORE 1 LINES;"
|
||||
result = db.execute(sql, {"src_file_name": src_file_name})
|
||||
logger.info(f'tsvデータをorgテーブルにLOAD : 件数({result.rowcount})')
|
||||
|
||||
# org→srcにinsert select
|
||||
# TODO: INTO句とSELECT句はmapperに持たせてcondkeyで引っ張ってくるようにしたい
|
||||
|
||||
@ -44,7 +44,7 @@ class Database:
|
||||
host=self.__host,
|
||||
port=self.__port,
|
||||
database=self.__schema,
|
||||
query={"charset": "utf8mb4"}
|
||||
query={"charset": "utf8mb4", "local_infile": "1"},
|
||||
)
|
||||
|
||||
self.__engine = create_engine(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user