これをテストするための移行スクリプトを作成しました。
これは私が使用したコードです。
id: article_csv_import
class: null
field_plugin_method: null
cck_plugin_method: null
migration_tags: null
migration_group: Import articles
label: 'Import articles'
source:
plugin: csv
path: 'modules/custom/sigtarp_migrate/data/articles.csv'
header_row_count: 1
ids:
- id
process:
nid: id
title: title
body/format:
plugin: default_value
default_value: full_html
body/value: body
changed:
plugin: callback
source: update
callable: strtotime
created: date
created:
plugin: callback
source: update
callable: strtotime
created: DateCreated
status: Status
type:
plugin: default_value
default_value: article
destination:
plugin: 'entity:node'
migration_dependencies:
required: { }
移行スクリプトを実行すると、ChangedとCreatedフィールドが入力されます。
これは、移行に使用されるCSVファイルの内容です。
なぜ日付がずれているのですか?どうすれば修正できますか?
作成および変更された日付の場合、それらは保存されます field_date'sとは異なります 。これらをUnixの世界時に変換する必要があります。
changed:
plugin: format_date
source: update
from_format: 'm/d/Y'
to_format: 'U'
from_timezone: 'UTC'
to_timezone: 'UTC'
created:
plugin: format_date
source: DateCreated
from_format: 'm/d/Y'
to_format: 'U'
from_timezone: 'UTC'
to_timezone: 'UTC'