ありがとございます。
確認できました。
利用中の最新のフォームブロックを特定したかったんです。
FORMブロックのテーブルを絡めると3つのテーブルのJOINとなります。
勉強がてらSQL文を作ってみます。
Re: 使っているブロックと不要になったブロックの判定はできるのか
2012年5月27日 at 8:27
ありがとうございました。調べてみます。
データベースのBlocksというテーブルに、bIsActiveというのがあるんですが、全部 "1" となっているのでこれを参照してるならだめですね。
Re: 使っているブロックと不要になったブロックの判定はできるのか
2012年5月28日 at 15:33
JOINができました。
見よう見まねでしたが、意外に簡単にできました。
これで実際に使われている有効なフォームブロックの最新のリストが得られたようです。
"SELECT * FROM CollectionVersionBlocks INNER JOIN CollectionVersions ON CollectionVersionBlocks.cID=CollectionVersions.cID AND CollectionVersionBlocks.cvID=CollectionVersions.cvID INNER JOIN btForm ON CollectionVersionBlocks.bID=btForm.bID WHERE CollectionVersions.cvIsApproved=1";
見よう見まねでしたが、意外に簡単にできました。
これで実際に使われている有効なフォームブロックの最新のリストが得られたようです。
"SELECT * FROM CollectionVersionBlocks INNER JOIN CollectionVersions ON CollectionVersionBlocks.cID=CollectionVersions.cID AND CollectionVersionBlocks.cvID=CollectionVersions.cvID INNER JOIN btForm ON CollectionVersionBlocks.bID=btForm.bID WHERE CollectionVersions.cvIsApproved=1";
Your post has been saved and will be published after approval by the forum moderator.
acliss
Re: 使っているブロックと不要になったブロックの判定はできるのか
cvIsApprovedが 1 のものの CollectionVersionBlocks を 取り出し、
CollectionVersionBlocks の bID と 合致しない Blocks を 取り出す。
というSQLを書けばチェックできると思います。
left join など使わないといけない???
ただ、不要ということですが、ページをバージョン管理しているため、前のバージョンのブロックも保存されています。削除や変更などはされないほうがいいと思います。
また、不要なバージョンを削除すればブロックも削除されます。