有馬総一郎のブログ

(彼氏の事情)

2013年04月02日 00:43:00 JST - 3 minute read - Subsonic

dbデータをコピーしただけでは、やはり使えない

そもそも、七めんどくさいことやらなくてもsubsonic.data、subsonic.properties、subsonic.scriptをコピーすれば良いんでないの?という疑問がふと湧き上がった。でも、以前、それやったら上手く行かなかったんだよな・・・改めて差分確認。

有馬総一郎のブログ-subsonic.properties

subsonic.propertiesには、違いという違いはない。そもそも移行していくる意味が無い。

有馬総一郎のブログ-subsonic.script

subsonic.scriptの方は、サーバー起動時に実行されるであろうDDL、DMLが入っている。hsqldbこういう仕組みなのか…テキストファイルでDB構造丸見えってのも、デンジャラス!気になる人はtomcatだけ権限を与えるようにchmod 600にしておいたら、よりセーフティーなのかね・・・更にいうと

CREATE USER SA PASSWORD ""
GRANT DBA TO SA

SAユーザにDBA(DB管理者権限)与えている。ユーザー名とパスワード変えるなら、Javaファイルである、 net.sourceforge.subsonic.dao.scratch.javaの66、67行目

ds.setUsername("sa");
ds.setPassword("");

も一緒に変えれば、上手く動くのかな。とはいえ、前回やったようにsubsonic(組み込み)として起動していれば、他からは接続できないので、そこまでする必要もない気もする。

差分として出ているのはindex名。他、気になる差分はこれといってないな・・・というか、アップグレードしてから、数日間動かしているから、ちゃんとした差分が分からない。

気がついたが、プレイリスト。これって/var/playlist配下のテキストファイルとして保存されていると思ったら、DBに格納されている。4.6バージョンから PLAYLISTというテーブルは存在していたようだけど、こちらには入ってないな・・・なんでだ。

ついでに、Javaの方も覗く。subsonic\subsonic-4.6-src\subsonic-main\src\main\java\net\sourceforge\subsonic\dao配下だけ。

有馬総一郎のブログ-java

Schema46.javaのメソッドtranscoding2のinsert文がvalue句だけだったのが、column句がある。 AbstractDao.javaのメソッドquestionMarksでStringBufferがStringBuilderに変更している。つらつら、変更点書こうと思ったけど、結局のところ、DB操作における大きな変更点はないような・・・

ともかくやってみるか。以前できなかったのは、勘違いかもしれん。

user@ubuntu:/var/subsonic/db$ sudo cp -p /var/subsonic_bak/db/subsonic.data subsonic.data
user@ubuntu:/var/subsonic/db$ sudo cp -p /var/subsonic_bak/db/subsonic.script subsonic.script
user@ubuntu:/var/subsonic/db$ ls -l
total 133664
-rw-r--r-- 1 tomcat6 tomcat6    645125 Apr  1 00:18 subsonic.backup
-rw-r--r-- 1 root    root      1048576 Mar 31 21:54 subsonic.data
-rw-r--r-- 1 tomcat6 tomcat6 134217728 Mar 31 21:55 subsonic.data_bak
-rw-r--r-- 1 tomcat6 tomcat6       418 Apr  1 00:18 subsonic.properties
-rw-r--r-- 1 root    root       481027 Mar 31 21:54 subsonic.script
-rw-r--r-- 1 tomcat6 tomcat6    468121 Mar 31 21:55 subsonic.script_bak
user@ubuntu:/var/subsonic/db$ sudo chown tomcat6:tomcat6 subsonic.data
user@ubuntu:/var/subsonic/db$ sudo chown tomcat6:tomcat6 subsonic.script

なんか、作ったユーザーでログインできたけど、プレイリストとかその他もろもろが真っ白けっけで駄目。

有馬総一郎のブログ-真っ白

やっぱり駄目なのね。