0

以前にこれに出くわしたことはありません。レールでモデルを生成しています

rails g model Rating ratings:integer

この時点では、移行ファイルは生成されていません

それから私は走ります

 rake db:migrate

この時点では何も起こらず、myapp_development と myapp_test が存在していても、モデルにテーブルが書き込まれません。

だから私はmysqlをチェックし、ただでログインしました

mysql 

それはまっすぐにログインし、そこにはどちらのデータベースも存在しませんでした。その後、再度ログインしましたが、今回はこのコマンドで

mysql -u root

ここに私のデータベースが存在します。ここで何が起こっているのか、モデルに対応するテーブルを作成させる方法を知っている人はいますか?

データベース.yml

development:
adapter: mysql2
encoding: utf8
reconnect: false
database: recipes_development
pool: 5
username: root
password:

ありがとう

4

2 に答える 2

0

ジェネレーターは問題ないようです。
1.それは私のためです(Rails 3.2):

$ rails g model Rating ratings:integer
      invoke  active_record
      create    db/migrate/20130218203713_create_ratings.rb
      create    app/models/rating.rb
      invoke    test_unit
      create      test/unit/rating_test.rb
      create      test/fixtures/ratings.yml
$ cat db/migrate/20130218203713_create_ratings.rb
class CreateRatings < ActiveRecord::Migration
  def change
    create_table :ratings do |t|
      t.integer :ratings

      t.timestamps
    end
  end
end

rake db:migrate --trace を試してください

UPD 2.DBのschema_migrationsテーブルを確認できます。

于 2013-02-18T20:39:44.803 に答える
0

移行ファイルとファイルのタイムスタンプを確認してくださいdb/schema.rb。最近、git のさまざまなブランチで作業していると、タイムスタンプに問題が発生する可能性があります。

この場合は、schema.rbファイルを削除してから再実行してみてくださいrake db:migrate

于 2013-02-18T20:42:59.627 に答える