2008/07/17

Rails 2.1.0 をインストールしてみる

久しぶりに、Railsの環境を更新しようと下記のコマンドこ実行すると、エラーがでました。
やはり、すんなりといきませんねぇ~。


> gem update --system
> gem update rails
Updating installed gems
Updating rails
ERROR: While executing gem ... (Gem::InstallError)
invalid gem format for c:/ruby/lib/ruby/gems/1.8/cache/activesupport-2.1.0.gem

いろいろ調べてみると、activesupportを手動でインストールすることで解決できるようです。



http://rubyforge.org/projects/activesupport/


Download gem to a local file, then


sudo gem install --local activesupport-2.1.0.gem


All fixed.



参考:Riding Rails: Rails 2.1: Time zones, dirty, caching, gem dependencies, caching, etc


2008/07/10

MySQLで行番号

MySQLで行番号を表示したいです。

データベースにMySQLを使っていて、INSERTするときにソート番号を得たいときなど、「SELECT時に行番号を表示したい」ということがたまにあります。


ずいぶん昔にそんなことがあって、その時は、一度Excelにコピペして、行番号をつけて、マクロでSQL文を生成、なんてことをやったのですが、MySQLではユーザ変数をつかうことで行番号を表示することが可能でした。


mysql> set @i=0;
mysql> select (@i:=@i+10) as position, name from users;
+----------+-------+
| position | name |
+----------+-------+
| 10 | hoge1 |
| 20 | hoge2 |
| 30 | hoge3 |
| 40 | hoge4 |
| 50 | hoge5 |
+----------+-------+

変数なんて初めて知りました(汗



ユーザによって定義された変数に値を保存し、後で参照することができます。これで1つのステートメントから次のステートメントに変数を移行させることができます。


MySQL :: MySQL 5.1 リファレンスマニュアル :: 8.4 ユーザによって定義された変数