embulkを使ってMySQL→MySQLへデータを移行しようとしています。
template/_in.yaml.liquid
in: type: mysql database: sourcedb user: root password: pass host: mysql01 port: 3306 table: map_faculty_to_class options: {characterEncoding: UTF-8} socket_timeout: 30 select: '*' query: null columns: null parser: {type: json} filters: - type: column add_columns: - {name: id, src: faculty_id} - {name: course_order, src: class_order} - {name: inserted_at, type: timestamp, default: '2022-01-01 00:00:00', format: '%Y-%m-%d %H:%M:%s'} - type: column drop_columns: - {name: faculty_id} - {name: class_order} - {name: id} - type: eval eval_columns: - {inserted_at: Time.now} out: {type: mysql, database: swingdb, user: root, password: pass, host: mysql02, port: 3306, table: course_classes, select: '*', mode: insert, after_load: null}
previewの結果は
+---------------+-----------------+----------------+-------------------------+-------------------------+-------------------+--------------------------------+ | class_id:long | section_id:long | course_id:long | regist_date:timestamp | update_date:timestamp | course_order:long | inserted_at:timestamp | +---------------+-----------------+----------------+-------------------------+-------------------------+-------------------+--------------------------------+ | 1 | 2 | 4 | 2018-06-11 07:34:57 UTC | 2018-06-11 07:34:57 UTC | 3 | 2022-03-09 09:13:21.362026 UTC | | 3 | 4 | 6 | 2018-06-11 07:34:57 UTC | 2018-06-11 07:34:57 UTC | 5 | 2022-03-09 09:13:21.362978 UTC | +---------------+-----------------+----------------+-------------------------+-------------------------+-------------------+--------------------------------+
このようになっていますが、実行すると下記のようになります。
Error: java.lang.RuntimeException: org.embulk.util.retryhelper.RetryGiveupException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Invalid default value for 'inserted_at'
送出先のテーブルの構成は下記のとおりです。inserted_atのtimestampの形式が違うのかと思っていますが
変更方法がわかりません。
おそらく下記の部分とは思っておりますが、こちらの変更方法をご教示いただけますでしょうか
- type: eval eval_columns: - {inserted_at: Time.now}
+--------------+-----------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +--------------+-----------+------+-----+-------------------+-----------------------------+ | id | int(11) | YES | | NULL | | | course_id | int(11) | YES | | NULL | | | class_id | int(11) | YES | | NULL | | | class_order | int(11) | YES | | NULL | | | course_order | int(11) | YES | | NULL | | | regist_date | datetime | YES | | NULL | | | update_date | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | | inserted_at | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | +--------------+-----------+------+-----+-------------------+-----------------------------+

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。