我不知道有這樣做的好方法。這個討論是相關的,但是:
http://www.mail-archive.com/[email protected]/msg02894.html
顯然,有可能重新使用DataMapper.setup()
的連接,但似乎連接的關閉自動處理。
不過,也許這些意見將幫助:
這是可能的存儲適配器,例如參考
a = DataMapper.setup(:default, "sqlite:db/development.sqlite3")
查看此對象顯示,存儲路徑,這意味着它是針對特定的連接,而不是一般SQLite的適配器,或如:
p a
#<DataMapper::Adapters::SqliteAdapter:0x00000001aa9258 @name=:default, @options={"scheme"=>"sqlite", "user"=>nil, "password"=>nil, "host"=>nil, "port"=>nil, "query"=>nil, "fragment"=>nil, "adapter"=>"sqlite3", "path"=>"db/development.sqlite3"}, @resource_naming_convention=DataMapper::NamingConventions::Resource::UnderscoredAndPluralized, @field_naming_convention=DataMapper::NamingConventions::Field::Underscored, @normalized_uri=sqlite3:db/development.sqlite3?scheme=sqlite&user=&password=&host=&port=&query=&fragment=&adapter=sqlite3&path=db/development.sqlite3>
據推測,這可以在某種程度上被標記爲垃圾收集什麼的(只是簡單地將它設置爲nil
工作?)。
DataMapper::Adapters::DataObjectsAdapter
中還有一個close_connection()
方法,但它是受保護的,我不確定是否或如何使用此方法。
希望這提供了一些指針!