テーブルのデータを直接さわる中で、
シーケンステーブル(主キーの管理を担っている)は、ホント邪魔なわけで。
で、以前、
シーケンステーブルをまとめる方法
的な記事を書いたが、
正常に動くはずだけど、どこかに、爆弾をかかえてそうで、
本環境では、使えなかったのだけど、
上記の通り、
シーケンステーブルが、邪魔
なわけで、
今回、新たな方法を見つけた。
***
接頭語をつけて、テーブルをまとめる。
まず、phpMyAdminで、テーブルに接頭語をつけます。
標準装備。ありがたい!
で、
こんな感じに、まとまる。
xとか、zとか、つけると、後方にまとまって良い感じ。
※_(アンダーバー)も可。
次に、コードの修正。
/data/class/SC_Query.php
/**
* 次のシーケンス値を取得する.
*
* @param string $seq_name 取得するシーケンス名
* @param integer 次のシーケンス値
*/
public function nextVal($seq_name)
{
return $this->conn->nextID('接頭語'. $seq_name);
}
/**
* 現在のシーケンス値を取得する.
*
* @param string $seq_name 取得するシーケンス名
* @return integer 現在のシーケンス値
*/
public function currVal($seq_name)
{
return $this->conn->currID('接頭語'. $seq_name);
}
※’接頭語’.の部分を、シーケンステーブルの先頭に付けた文字に置き換えてね。
で、上記は、
class_extendsdのSC_Query_ex.phpに、コピーすれば、動くはず。
この方法だと、大きな変革の必要はなく、
コードの修正も、最小限で済むし、
phpMyAdminで、テーブルを探すのも、すっごく楽になる!!
このシーケンステーブル、そろそろ標準で、
なんとかしてくれないだろうかね?
やっぱ、有志に参加するしかないかね~~?
まあ、現状で解決しているので、ね?!
ECCUBE 2.17系 シーケンステーブル