3

からモデルチェンジしました

class Place
  include DataMapper::Resource
  has n, :trails

  property :id,           Serial
  property :name,         String,         :length => 140
  property :tag,          String,         :required => true
  timestamps :at 
end

class Place
  include DataMapper::Resource
  has n, :trails

  property :id,           Serial
  property :name,         String,         :length => 140
  property :tag,          String,         :required => true
  property :trail_count,  Integer,        :default => 0
  timestamps :at 
end

「property :trail_count, Integer, :default => 0」を追加しました

そして、既存の appengine テーブルを移行して追加のフィールド「trail_count」を追加したいのですが、DataMapper.auto_upgrade を読みました! するべきです。

しかし、「undefined method `auto_upgrade!」というエラーが表示されます for DataMapper:Module"

DM モデルを移行する方法を教えてください。

4

3 に答える 3

1

サーバーを 3 回再起動すると、奇跡的にフィールドが追加されました。

これはまだ奇妙で、移行を行うにはあまり良い方法ではありません。移行せずにデータを操作するにはどうすればよいですか? フィールド「フルネーム」を姓と名のフィールドに分割するようなものですか? そのための移行が必要です..

于 2010-05-14T22:40:20.067 に答える
0

Roy さんと同じ問題を調べていますが、datamapper (またはその他のインターフェイス) を使用したアプリ エンジンでは移行が機能しないようです。これはデータストアの機能であり、既存のデータベース エントリを更新するには、データベースにクエリを実行し、一度にいくつか更新して、レート制限に達しないようにする必要があります。 ソース

于 2010-07-07T01:02:28.217 に答える