[前][次][番号順一覧][スレッド一覧]

rails:229

From: take_tk <ggb03124@n...>
Date: Thu, 30 Jun 2005 18:19:12 +0900
Subject: [rails:229] salted_login + MySQL 4.0.23 は?

たけ(tk)です

ログインスクリプトが欲しくて、

http://wiki.rubyonrails.com/rails/show/SaltedHashLoginGenerator
http://wiki.rubyonrails.com/rails/show/SaltedLoginGeneratorQuickstart

を(自動翻訳などを駆使して、(^^;)やってみたのですが、最後の最後で、

mysql>   CREATE TABLE users (
    ->     id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ->     login VARCHAR(80) NOT NULL,
    ->     salted_password VARCHAR(40) NOT NULL,
    ->     email VARCHAR(60) NOT NULL,
    ->     firstname VARCHAR(40),
    ->     lastname VARCHAR(40),
    ->     salt CHAR(40) NOT NULL,
    ->     verified INT default 0,
    ->     role VARCHAR(40) default NULL,
    ->     security_token CHAR(40) default NULL,
    ->     token_expiry DATETIME default NULL,
    ->     deleted INT default 0,
    ->     delete_after DATETIME default NULL
    ->   ) TYPE=InnoDB DEFAULT CHARSET=utf8;
ERROR 1064: You have an error in your SQL syntax.  
Check the manual that corresponds to your MySQL server version for the right syntax to use 
near 'DEFAULT CHARSET=utf8' at line 15

というのがでたので、'DEFAULT CHARSET=utf8' を除外してテーブルを作って、

[tk@EDiCube-02 kumalaw]$ sudo gem install db_structure

して

[tk@EDiCube-02 kumalaw]$ ruby script/create_db

したら、やはり

[tk@EDiCube-02 kumalaw]$ ruby script/create_db
Recreating database rails_production ####
Database rails_production doesn't exist yet
Table users does not exist
Creating tables for rails_production...
failed: #<ActiveRecord::StatementInvalid: You have an error in your SQL syntax.
 Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=utf8' at line 18: CREATE TABLE users (
  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
・・・
  delete_after DATETIME default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8>

と出まして、既存のデータベースもばっさり削除されてしまいました。

問題は、MySQLのバージョンが 4.0.23 なので、uft8 に対応していないというこ
となのですが、MySQLのMLを見ると、

「個人的には 5.0 どころか 4.1 の時点で厳しいですね.あの文字コードの落し
穴は多くの既存オープンソースソフトウェアがそのまま動かないので壊滅してし
まってます.」([mysql 11543] )

「日本では、4.1 で文字コードの扱いが変更されたのが嫌で、4.0 を使い続けて
いる人も多そうです。なんとなく。# 2ch をみると 4.1 が出て MySQL から 
PostgreSQL に行ってしまった人達もいるみたいですし (^^;」([mysql 11508] )

ということなので、vineでも 4.0.23 が最新なのです。

salted_login + MySQL 4.0.23 でどうにかする方法はありますかね?

* この調子だと、日本のMySQLは絶滅してしまいそうだ・・。

Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武


--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

->     229 2005-06-30 11:19 [ggb03124@n...       ] salted_login + MySQL 4.0.23 は?       
       230 2005-07-01 03:49 ┗[ggb03124@n...       ]                                       
       234 2005-07-01 07:46  ┗[ggb03124@n...       ]