mySQLは直接ファイルを指しません。代わりに、データベースのエントリのパスを保持することができます。これらのファイルへの変更が行われたときにはどうすれば自動的に自分のデータベース内に適切なエントリを更新するために、ディレクトリを設計することができ(すなわち。mv
を再実装、ディレクトリを監視し、コミット伴うチェックポイントシステム...)毎回 は、ファイルが変更されたときに自動的にmySQLエントリを更新します。
CREATE TABLE IF NOT EXISTS file
(
ID INT NOT NULL AUTO_INCREMENT,
path VARCHAR(150),
size INT,
creationDate TIMESTAMP DEFAULT NOW(),
modificationDate TIMESTAMP(8),
destructionDate TIMESTAMP(8),
PRIMARY KEY(ID)
)ENGINE=InnoDB
下のサンプル表を考えますファイルを移動、編集、または削除する場合は、変更が自動的に
path
,
size
、
creationDate
、
modificationDate
、および
destructionDate
に反映されます。私はどんな提案にも開放的です。
Mysqlは 'path'とは無関係ですので、ファイルを移動、編集、または削除するたびにテーブルを更新する必要があります。 – abhinav
@abhinavはい私はそれを認識していますが(私は決してそれに「無関心」という言葉がありませんでした)。確かにこれを回避するにはいくつかの方法が必要です。おそらく、ファイルやフォルダをタグ付けしてモニタしたり、 'mv'、' rm'への呼び出しをキャプチャします。 – puk
私はそれを記述するためのより良い言葉を考えることができませんでした:)はい、イベントハンドラを追加するか、あなたが使っている言語/フレームワーク最終的に、mysqlテーブルの自動更新は、あなたの言語/フレームワークを介して行わなければなりません.Mysql自体は、ファイルの変更を追跡する機能を提供しません。 – abhinav