ノードエクスポートを一括ノードエクスポートに設定する方法


25

大量のノードをエクスポートするためにノードエクスポートを試していますが、すべてのノードを選択して個別にエクスポートする必要があるようです。

選択したコンテンツタイプのすべてのノードをエクスポートする場合はどうなりますか?Node Exportでこれを行う方法はありますか、または別のモジュールを見つける必要がありますか?

回答:


25

あなたはブラシでそれを行うことができます:

$ drush help ne-export
Export nodes using Node export.

Arguments:
  nids : A list of space-separated node IDs to export.

Options:
  --file : The filename of the output file.  If supplied, the node code will be
exported to that file, otherwise it will export to stdout.
  --format : If supplied, node code will be output using a particular export
format, if available. (e.g. serialize)
  --status : Filter for 'status'; A boolean value (0 or 1) indicating whether
the node is published (visible to non-administrators).
  --promote : Filter for 'promote'; A boolean value (0 or 1) indicating whether
the node should be displayed on the front page.
  --sticky : Filter for 'sticky'; A boolean value (0 or 1) indicating whether
the node should be displayed at the top of lists in which it appears.
  --translate : Filter for 'translate'; A boolean value (0 or 1) indicating
whether the node translation needs to be updated.
  --language : Filter for 'language'; The language code (e.g. de or en-US) of
this node.
  --type : Filter for 'type'; The machine-readable name (e.g. story or page) of
the type of this node.
  --sql : Filter by SQL (EXPERIMENTAL); An SQL query string that returns nids
(e.g. "SELECT nid FROM nodes WHERE nid < 10").
  --code : Filter by PHP code (EXPERIMENTAL); PHP code that prints or returns,
an array or CSV string of nids (e.g. "custom_get_my_nids();"). Don't include PHP
tags.

例えば、

drush ne-export --type=article --file=article.txt

すべての記事ノードをシリアル化された形式でarticle.txtに出力します。その後、drushを使用してそれらをインポートできます。

$ drush help ne-import
Import nodes previously exported with Node export.

Arguments:

Options:
  --uid : User ID of user to save nodes as. If not given will use the user with
an ID of 1. You may specify 0 for the Anonymous user.
  --file : The filename of the input file.  If supplied, the node code will be
imported from that file, otherwise it will import to stdin.

例えば:

drush ne-import --uid=1 --file=article.txt

*更新しました


感謝しますが、これは大量のノード(> 1000)に適していますか?
コディアム

理論的には、はい、PHPに十分なメモリを与え、かなり長い実行時間を設定した場合。私がこれを最後に行ったとき、私は数百のノード、おそらく1000に近いノードを持っていたと思う。
mpdonadio

再度、感謝します。詳細はdrupal.org/node/1681584をご覧ください。ビューデータのエクスポートも試してみます
-Codium

1
Drushコマンドを使用する場合、結果はエクスポートされたファイルをハードディスクに保存しますか?
アフマドゼイン

2
@AhmadZain出力は、指定した場所に保存されます。上記のコマンドは、コマンドを実行した場所と同じ場所にファイルを保存する必要があります。
mpdonadio

5

Drupalの管理ページ(D7では/ admin / content)のすべてのコンテンツのリストに移動し、コンテンツタイプでフィルターし、すべてを選択して、ドロップダウンメニューから[ノードエクスポート]を選択します。


2
はい!これは私が探していた答えです。これは、Views Bulk Operations(VBO)をインストールして構成するよりもはるかに簡単です。このような単純なソリューションの場合、見つけるのは本当に困難でした。
マグマティック

1
これは、そのタイプのコンテンツのすべてではなく、そのタイプのコンテンツの現在のページのみをエクスポートします。
-RichardAtHome

then select 'Node export' from the dropdown menuどのメニュー?
エハズ

その最後の質問に答えるかもしれません。また、そのサイトで有効になっていたadmin_views_nodeビューを無効にしてキャッシュをクリアするまで、これは表示されませんでした。現在、admin / contentのUpdate Optionsドロップダウンに、「node export」のオプションがあります。または、そのビューを有効にしている場合、編集し、[一括操作]フィールドを選択して、「ノードエクスポート」操作を追加できます。
petednz-fuzion

0

上記の目的でノードエクスポートモジュールを使用できます。それは言います:

これにより、ユーザーはノードをエクスポートしてから、別のDrupalインストール済み環境または同じサイトにインポートできます。このモジュールを使用すると、すでに作成したWebサイトに類似したノードを持つ新しいWebサイトのセットアップ、新しいDrupalバージョンへのノードの移行、または開発/ステージング/運用サイト間での時間を大幅に節約できます。


0

これは、結果の分割に役立つ場合があります。シンプルなbashスクリプト:

#!/bin/bash
# Run this script in Drupal root app directory!
# Requirements: drush command tool installed with ne-export command (you need Node Export module installed in Drupal)

maxRows=100
startFrom=0
for i in {0..17}
do
  startFrom=$(( (i)*100 ))
  echo "SELECT nid FROM node where node.type='noticia' limit $startFrom,$maxRows" # just for debugging
  drush ne-export  --file="nodes-exported/nodes-exported-$i.json" --format='json' --sql="SELECT nid FROM node where node.type='noticia' limit $startFrom,$maxRows" # of course set your own SQL here
done

exit 0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.