その後、アプリケーション固有の database.yml ファイルを入力しました。このファイルは、デフォルトで MySQL ルート ユーザーを使用するように構成されていましたが、パスワードが割り当てられていませんでした。
- これが DATABASE.YML の外観です
-# gem 'mysql2'
-#
-# そして、必ず新しいスタイルのパスワードハッシュを使用してください:
-# http://dev.mysql.com/doc/refman/5.0/en/old-client.html
発達:
アダプター: mysql2
エンコーディング: utf8
再接続: false
データベース: simple_cms
プール: 5
ユーザー名: ルート
password: ここに mypassword を追加しました (これはスペースに敏感なので注意してください。「password:」の後にはスペースを 1 つだけ入れる必要があります)。
ソケット: /tmp/mysql.sock
私にとってはこのエラーが修正されたので、これで問題が完全に解決するかどうかはわかりませんが、今では他の人が見ています:
$ rails generate (これは単なるヘルプ メニューである必要があります) を実行すると、次のようになります (それ自体の問題である可能性があります)。
/.rvm/gems/ruby-1.9.3-p392/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect': 不明なデータベース 'simple_cms_development' (Mysql2::Error)
アップデート:
一般に、Lynda.com のチュートリアルを使用して、この simple_cms を実行していました。重要な点は、2010 年 (チュートリアルが作成されたとき) に、データベースを作成または構成しなくてもコマンド $ rails generate を使用できるように思われることです。私がこれを言う理由は、(私が抱えていた問題を無視した後) チュートリアルに沿って移動したためです。このチュートリアルでは、上記の simple_cms_development データベースを作成し、database.yml ファイルにユーザーとパスワードの情報を設定する方法について説明します。
それを行った後、 $ rails generate コマンドを実行し、問題なく移行を作成することさえできました。
したがって、多くのトラブルの後、これはすべて、私が説明したように Rails コマンドを呼び出す前に開発データベースをセットアップするという明らかに「新しい要件」に関連しているように見えます。データベースをまだ準備する必要のないコントローラーを作成しているときでも。それがチュートリアルで行われた仮定だったと思います。
この問題について他にご意見がありましたらお知らせください。