私はアップグレードしたい古いDrupalサイトを持っていますが、/ファイルから(jpgs、gifsなどの)すべてのサイトデータファイルを/ sites/default/files。MySQLデータベースで文字列をグローバルに変更する方法
私は、/ files/*のインスタンスを見つけるためにPHPスクリプトまたはMySQLコマンドを使い、/ sites/default/files/*に変更したいと思います。名前、もちろん!)。
これはかなり簡単ですか?私が使うことができる関数上のポインタ?
私はアップグレードしたい古いDrupalサイトを持っていますが、/ファイルから(jpgs、gifsなどの)すべてのサイトデータファイルを/ sites/default/files。MySQLデータベースで文字列をグローバルに変更する方法
私は、/ files/*のインスタンスを見つけるためにPHPスクリプトまたはMySQLコマンドを使い、/ sites/default/files/*に変更したいと思います。名前、もちろん!)。
これはかなり簡単ですか?私が使うことができる関数上のポインタ?
MySQLには、文字列置換機能が組み込まれています。このようなものはいかがですか?
UPDATE table SET field = REPLACE(field,'/files/','/sites/default/files/');
あなたにも必要な場合は、より複雑な代替品(すなわち。正規表現)のために使用することができますother functionsあります。
Drupal設定で 'ファイル'のパスを変更したばかりです。
このようにすると、すべての新しいファイルが更新され、Drupalのファイルの内部使用が変更されますが、すべてのノードがリンク/参照ファイルで更新されることはありません。 –
ファイルテーブルを変更するだけの場合は、SQLでUPDATEを実行できます(zombatのように)。あなたが他の多くのインスタンス(IE - 完全なHTMLノード本体など)を持っているなら、DBをテキストファイルにエクスポートすることができます(mysqldumpまたはPHPMyAdminのエクスポート機能で行うことができます)。適切なテキストエディタ、sedのようなコマンドラインツール、または多数のインターンのいずれかで文字列を更新するだけです。
ああ - これは別の良いオプションになります。私が取り組むべき次のサイトのためにこれを行うかもしれない! –
動作するはずです。私はテスト環境でそれを試し、それがどうなるか見てみましょう! –
ちょうどこの値を(いくつかの異なるテーブルのために)使用し、すべてが魅力のように機能します。ありがとう! –
問題なく、うまくいきました。 – zombat