(1) RailsアプリをMySQLで動作させます。
MySQLを使うパラメタを入れて、Railsアプリを作成する。
%rails app2 -d mysql
–
(2) データベースの設定
environment.rbおよび.htaccessの設定、公開wwwへのシンボリックリンク作成はしておいてね。
app2/config/database.yml でMySQLの情報を設定する。
パスワードの前にも、空白を入れる。(XXXXの前)
development:
  adapter: mysql
  encoding: utf8
  database: XXXX
  pool: 5
  username: XXXX
  password: XXXX
  host: mysqlXXX.db.sakura.ne.jp
–
webから接続すると、下記のエラーがでました。
Mysql::Error in Rails/infoController#properties
Can't initialize character set utf8 (path: /usr/local/mysql/4.0/share/mysql/charsets/)
config/database.yml のエンコーディングをはずす。再度チャレンジ。下記のエラー。
Client does not support authentication protocol requested by server; consider upgrading MySQL client
–
(3) MySQLモジュールインストール
%setenv RB_USER_INSTALL true
%gem18 install mysql
environment.rb に下記の記述を追加
 # config.gem "aws-s3", :lib => "aws/s3"
config.gem "mysql", :version => "2.7"
※うまく接続できました。
–
(4) scaffoldで雛形作成
下記の雛形を作成します。
%script/generate scaffold user name:string mail:string
      exists  app/models/
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/users
      exists  app/views/layouts/
      exists  test/functional/
      exists  test/unit/
      exists  public/stylesheets/
      create  app/views/users/index.html.erb
      create  app/views/users/show.html.erb
      create  app/views/users/new.html.erb
      create  app/views/users/edit.html.erb
      create  app/views/layouts/users.html.erb
      create  public/stylesheets/scaffold.css
      create  app/controllers/users_controller.rb
      create  test/functional/users_controller_test.rb
      create  app/helpers/users_helper.rb
       route  map.resources :users
  dependency  model
      exists    app/models/
      exists    test/unit/
      exists    test/fixtures/
      create    app/models/user.rb
      create    test/unit/user_test.rb
      create    test/fixtures/users.yml
      create    db/migrate
      create    db/migrate/20090525164026_create_users.rb
webからアクセス。http://XXXX.sakura.ne.jp/app2/user。下記のエラーが出ました。
Routing Error
No route matches "/user" with {:method=>:get}
ちなみに削除する場合は、下記で。
%script/destory scaffold user
–
(6) テーブル作成
テーブルさくせいするのを忘れてました。
%rake db:migrate
(in /home/XXXX/Rails/mailist)
==  CreateUsers: migrating ====================================================
-- create_table(:users)
   -> 0.0116s
==  CreateUsers: migrated (0.0118s) ===========================================
phpmyadminで、テーブルが生成されたか確認します。*は自動生成されます。
テーブル名: users(複数形になりました)
id: int(11) auto_increment 主キー*
name: varchar(255) ヌル:はい
mail: varchar(255) ヌル:はい
create_at: datetime *
update_at: datetime *
webで接続します。http://XXXX.sakura.ne.jp/app/users/(userは、複数形usersになる)
–
マイグレーションを管理するテーブルも出来る:schema_migrations
(追記)テーブルに、接頭語を付けるには、config/environment.rbの最後に下記を追加することで、テーブルに”sys_”がつき、他のテーブルと区別しやすくなります。
  
ActiveRecord::Base.table_name_prefix = "sys_"