2016-05-12 13 views
0

このプログラムがある場合。DataMapper、ファイナライズを呼び出す場合

require 'dm-core' 
require 'dm-migrations' 

DataMapper::Logger.new($stdout, :debug) 
DataMapper.setup(:default, “sqlite3:///#{Dir.pwd}mydb.sqlite”) 

class MyClass 
    include DataMapper::Resource 
    property :id, Serial 
    property :column1, String, :required => true 
end 
DataMapper.auto_migrate! 

class MyClass 
    property :column2, String 
end 
DataMapper.auto_upgrade! 

テーブルmyclassesを実行して作成し、テーブルを更新します。 DataMapper.finalizeに電話する必要はありませんか?

私が電話する必要がある場合は、どこから呼び出す必要がありますか? docsから

答えて

0

.finalize:妥当性について

チェックモデルを、これらが移行しているため、関係

に関連付けられたすべてのプロパティは、だから私はすぐにauto_upgrade!またはauto_migrate後にそれを使用する傾向が初期化実際にはデータベースの内容が変更されるため、これらの後にfinalizeを使用して、データベース内のすべてのプロパティ(列)更新が変更されていることを確認する必要があります。

関連する問題