▼ 2008/01/17(木) cakephpで使えるSQLiteのバージョン
私の環境でテストするとcakephpでは、 sqlite2.8.17 でした。できればversion 3を使いたいのだけれど。。。
ソースをちょい見すると、全部SQL文を書き出しているよう。すごいね。pdoを使わないと、SQLite3は使えないから、こりゃしばらくSQLite2でがんばるしかない。
どうせならMySQL使ってみましょうか。定番らしいが私はほとんど触ったことない。
ソースをちょい見すると、全部SQL文を書き出しているよう。すごいね。pdoを使わないと、SQLite3は使えないから、こりゃしばらくSQLite2でがんばるしかない。
どうせならMySQL使ってみましょうか。定番らしいが私はほとんど触ったことない。
▼ コメント(0件)
- TB-URL http://www.cpa-lab.com/tech/018/tb/
▼ 2008/01/17(木) phpMyadminの文字化け
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=62&forum=11&post_id=1602
http://php.sunvisor.net/2007/11/cakephp_2.html
utf-8で統一してるのになんでやねん!って感じですな。自動コード変換などやめて欲しい。。。
http://php.sunvisor.net/2007/11/cakephp_2.html
utf-8で統一してるのになんでやねん!って感じですな。自動コード変換などやめて欲しい。。。
- TB-URL http://www.cpa-lab.com/tech/021/tb/
▼ 2008/01/17(木) CakePHPとSQLite(&MySQL)
(追記)この記事には続きがあります。cakephpとSQLiteの続き(2008/2/2)
(追記の追記)もっと効率的な修正方法があります。CakePHP1.2bとSQLite不具合のもっと簡単な直し方
(追記の追記の追記)CakePHP1.2をSQLite3で動かしてみた。&ダウンロード
なぜかサンプル程度つまづく。CakeでSQLiteを使っているのは少数派なのか、情報が少ない。
データベースのidフィールドが integer primary key なのに、cakephpで作られるSQL文が '' の入力になってたものだから、 datatype errorがでて困っていた。SQLiteはデータ型はルーズだけど、こんなエラーはだすのだなっと。
英語圏でも困っている人がいるようだが、Englishなのは私はダメなのである。http://groups.google.co.jp/group/cake-php/browse_thread/thread/d0160763dece38b0/6b9b7246a72945e2?lnk=gst&q=datatype+mismatch#6b9b7246a72945e2
こんな感じ
で、ソースをよくみると。。。原因はわかったが、どこを直すべきか難しい。とりあえずこうした。
/cake/libs/dbo/dbo_sqlite.php
cakephp1.19でのお話 うーん、1.2にしようかな。
(追記)
実はMySQLでも同じ現象が発生した。...もう一度よく考えると、
cake/libs/mode/dbo/dbo_mysql.phpの
おそらくsqliteも、最初の修正をしなくても、dbo_sqlite.phpの同じ箇所を直せばこれで通るでしょう。
しかし、こういうのみんなクリアーしてるのかね。
全然cakephp楽じゃないよ。これだけでえらい時間食ったよ。
こちらも参考になりました。http://papuh.s3.zmx.jp/2008/01/15/cakephp%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E3%80%801206311-beta/
MySQL5.0.45 でのお話
(追記の追記)もっと効率的な修正方法があります。CakePHP1.2bとSQLite不具合のもっと簡単な直し方
(追記の追記の追記)CakePHP1.2をSQLite3で動かしてみた。&ダウンロード
なぜかサンプル程度つまづく。CakeでSQLiteを使っているのは少数派なのか、情報が少ない。
データベースのidフィールドが integer primary key なのに、cakephpで作られるSQL文が '' の入力になってたものだから、 datatype errorがでて困っていた。SQLiteはデータ型はルーズだけど、こんなエラーはだすのだなっと。
英語圏でも困っている人がいるようだが、Englishなのは私はダメなのである。http://groups.google.co.jp/group/cake-php/browse_thread/thread/d0160763dece38b0/6b9b7246a72945e2?lnk=gst&q=datatype+mismatch#6b9b7246a72945e2
こんな感じ
Warning: sqlite_query() [function.sqlite-query]: datatype mismatch in C:\www\Cake\cake\libs\model\dbo\dbo_sqlite.php on line 115
Query: INSERT INTO "dbs" ("id","name") VALUES ('','abc')
Warning: SQL Error: 20: datatype mismatch in C:\www\Cake\cake\libs\model\datasources\dbo_source.php on line 440
で、ソースをよくみると。。。原因はわかったが、どこを直すべきか難しい。とりあえずこうした。
/cake/libs/dbo/dbo_sqlite.php
function value ($data, $column = null, $safe = false) {
$parent = parent::value($data, $column, $safe);
if ($parent != null) {
return $parent;
}
if ($data === null) {
return 'NULL';
}
if ($data === '') {
return "''";
}
を探しだし
if ($data === null) {
return 'NULL';
}
を
if ($data === null || $data === '' && $column=='integer') {
return 'NULL';
}
に変更。cakephp1.19でのお話 うーん、1.2にしようかな。
(追記)
実はMySQLでも同じ現象が発生した。...もう一度よく考えると、
cake/libs/mode/dbo/dbo_mysql.phpの
- function value($data, $column = null, $safe = false)
if ($data === '') {
return "''";
}
を
if ($data === '') {
//spok_added
if($column=='integer'){return 'null';}
//spok_end
return "''";
}
とすればうまくいった。おそらくsqliteも、最初の修正をしなくても、dbo_sqlite.phpの同じ箇所を直せばこれで通るでしょう。
しかし、こういうのみんなクリアーしてるのかね。
全然cakephp楽じゃないよ。これだけでえらい時間食ったよ。
こちらも参考になりました。http://papuh.s3.zmx.jp/2008/01/15/cakephp%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E3%80%801206311-beta/
MySQL5.0.45 でのお話
- TB-URL http://www.cpa-lab.com/tech/017/tb/
-
▼
[PHP]CakePHPをAN HTTPD+SQLiteで動かす
genms’ blogこの環境で、CakePHPのScaffoldingを一通り動作させることができました。 ただその際、環境特有と思われる設定や変更が発生したので、メモ。 環境 AN HTTPD 1.42n PHP 5.1.4 SQLite 2 【AN HTTPD関係】 m...
-
▼
Cakephpでsqliteの続き。editとdeleteの修正
CPA-LABテクニカル 以前にSQliteでのnew時(insert)の不具合を修正したのだけれど、今度は、editとdeleteでも不具合があることがわかった。しばらくMySQLのお勉強をしていたので、sqliteはほっておいたんだけど、やっぱりsqliteが恋しいので戻ってき...
-
▼
CakePHP1.2bとSQLite不具合のもっと簡単な直し方
CPA-LABテクニカル 私、nightlyって知りませんでした。ソフト開発の世界では、nightly buildとは、開発途上版ということなのですね。で、CakePHPでは、そのnightly buildが公開されていると。だからそれを使えばいいだぞ、と。こちらCakePHPでは...
▼ 2008/01/17(木) 2008-01-17
CakePHPではまったこと 4(sqliteをデータベースとして使う) http://red-treasure.com/report/?p=45
- TB-URL http://www.cpa-lab.com/tech/016/tb/
▼ cakephpリンク集
本家 http://cakephp.org/
UserForrumJapan http://cakephp.jp/modules/newbb/
CakePHP プログラマーズ リファレンスガイド http://cakephp.jp/doc/
便利 http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=334&forum=3&post_id=573#forumpost573
CakePHP guide http://www.blueocean.bz/blog/cakephp/index.php
CakePHPフレームワークによる快速WEB開発 http://codezine.jp/a/article/aid/670.aspx?p=1
クロアチアで働くプログラマー日記 http://yasue.us/cakephp/
CakePHP Security コンポーネントのまとめ http://www.syuhari.jp/blog/archives/148
CakePHP Ajax のフォームを作成する http://www.syuhari.jp/blog/archives/186
CakePHPで自動ログインコンポーネント http://code.nanigac.com/source/view/323
http://cakephp-saboten.blogspot.com/
PHPではてなパーサー http://d.hatena.ne.jp/anatoo/20080102/1199241367
CakePHP1.2 Form ヘルパーで日付のフォームを作る http://www.syuhari.jp/blog/archives/192
UserForrumJapan http://cakephp.jp/modules/newbb/
CakePHP プログラマーズ リファレンスガイド http://cakephp.jp/doc/
便利 http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=334&forum=3&post_id=573#forumpost573
CakePHP guide http://www.blueocean.bz/blog/cakephp/index.php
CakePHPフレームワークによる快速WEB開発 http://codezine.jp/a/article/aid/670.aspx?p=1
クロアチアで働くプログラマー日記 http://yasue.us/cakephp/
CakePHP Security コンポーネントのまとめ http://www.syuhari.jp/blog/archives/148
CakePHP Ajax のフォームを作成する http://www.syuhari.jp/blog/archives/186
CakePHPで自動ログインコンポーネント http://code.nanigac.com/source/view/323
http://cakephp-saboten.blogspot.com/
PHPではてなパーサー http://d.hatena.ne.jp/anatoo/20080102/1199241367
CakePHP1.2 Form ヘルパーで日付のフォームを作る http://www.syuhari.jp/blog/archives/192
- TB-URL http://www.cpa-lab.com/tech/015/tb/