ひょんなことから CakePHPでスピード開発:郵便番号データ自動インポート という記事を見つけた。
2008 年の記事だが、CakePHP 1.3.6 で動作した。動作したのだが、Shell に関してはどうも1.3.8 はうまくいかない。それまで順調に動作していたものも Error: Class ZipShell could not be loaded. となってしまう。見つけたものはShell だから、本体は1.3.8 で、Shell は1.3.6 で動作させることにした。
1.3.6 では Error: Missing database table ‘テーブル名’ for model ‘モデル名’ となってしまった。調べたところ、これは/app/tmp/cache/配下のキャッシュを消すことで直った。
ずいぶん遠回りしてしまった。
スポンサードリンク
%/home/***/cake136/cake/console/cake zip -app /home/***/www/www.***.jp/app/ Welcome to CakePHP v1.3.6 Console --------------------------------------------------------------- App : app Path: /home/***/www/www.***.jp/app --------------------------------------------------------------- --2011-05-06 23:01:41-- http://www.post.japanpost.jp/zipcode/dl/oogaki/lzh/ken_all.lzh Resolving www.post.japanpost.jp... 122.215.192.22 Connecting to www.post.japanpost.jp|122.215.192.22|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1735845 (1.7M) [application/lzh] Saving to: `STDOUT' 100%[======================================>] 1,735,845 3.51M/s in 0.5s ken_all.csv - Melting : ..................................................ken_all.csv - Melting : ooooooooooooooooooooooooooooooooooooooooooooooooooken_all.csv - Melted 2011-05-06 23:01:42 (3.51 MB/s) - written to stdout [1735845/1735845] Killed
さくらインターネットで動作させたところ、レコードに挿入するのにずいぶん時間がかかった。そのため、コンソールから実行しても、およそ30分後にKill された。
※元から動作していたものが1.3.8 で Error: Class ZipShell could not be loaded. となる問題は未解決
※Error: Class ZipShell could not be loaded. 便宜上の表記で、実際のClass 名は異なる
参考文献
- CakePHPでいわれのない「Missing database table」エラーを直すには | 1000g
- CakePHP bake Error: Missing database table ‘テーブル名’ for model ‘モデル名’ – 幕張システム物語
- CakePHPでスピード開発:郵便番号データ自動インポート
コメント