9

Rails アプリを使用しており、何らかの奇妙なデータベース/レーキの問題が発生しています。

私が実行すると:

rake db:migrate

次のエラーが表示されます。

Mysql2::Error: No database selected: SHOW TABLES

(See full trace by running task with --trace)

トレースはあまり有益な情報を明らかにしていません。ここで見ることができます: http://pastebin.com/WdsguudC

構成ファイルは正しいように見え、ユーザーがログインしている、または何らかのアクセス エラーが発生した可能性があります。データベースは存在し、ユーザーは適切な権限を持っており、手動でアクセスして操作できます。私はたくさんのグーグル検索を行いましたが、役立つものは何も見つかりませんでした。これはかなり低レベルの問題のように見えるため、提供する必要がある他のコードがあるかどうかはわかりません。

4

9 に答える 9

12

結局、それは yaml のスペーシングの問題でした。

于 2011-02-06T08:25:24.270 に答える
9

Ruby は最近の 1.9.2 バージョンで YAML パーサーを交換したことに注意してください。

これもこの問題を引き起こす可能性があります。

古い YAML パーサーsyckに戻すには、これをboot.rbで使用します。

require 'yaml'
YAML::ENGINE.yamler= 'syck'
于 2011-06-24T16:24:57.060 に答える
2

ruby 1.9.2-p180 で同じ問題が発生し、 p290 にアップグレードして動作しました

于 2011-09-21T14:54:45.047 に答える
1

サーバーを再起動するだけです。コマンドラインで:

  1. Ctrl+を押しますC

  2. 実行する:

    rails s
    
于 2015-02-03T14:16:25.383 に答える
0

その単純なエラーは、database.yml ファイル全体をチェックアウトし、デフォルトの説明がどこにあるのかを確認します。データベース名が指定されているか、指定されていない場合は、その下を見て、別の開発名も指定されています。その中のデータベース名

default: &default
     adapter: mysql2
     encoding: utf8
     pool: 5
     username: root
     password: 12345
     host: localhost

development:
      <<: *default
      database: db_name
于 2016-04-16T14:42:16.603 に答える
0

入力したときに同様のエラーが発生 rake db:schema:dumpし、yaml ファイルのすべてのデータベースをコメントアウトするだけでよいことがわかりましたdevelopment

于 2014-07-09T23:18:15.373 に答える