# File model/model.rb, line 467
    def attach(dbh)
        @dbh = dbh
        @hash = Hash.new

        @cookbooks = ObservableArray.new
        @dbh.select_all('select cookbook_id from cookbook').each do |row|
            @cookbooks << get('cookbook', row['cookbook_id'])
        end
        @cookbooks.add_observer do
            # which cookbooks were previously in the DB?
            old_cookbooks = []
            @dbh.select_all("select cookbook_id from cookbook").each do |row|
                old_cookbooks << $replicator.get('cookbook', row['cookbook_id'])
            end

            # adding takes place in Replicator#create

            # remove any no longer used from the DB
            (old_cookbooks - @cookbooks).each do |cookbook|
                @dbh.do("delete from cookbook where cookbook_id=?",cookbook.id)
            end
        end

        @measures = ObservableArray.new
        @dbh.select_all("select measure_id from measure").each do |row|
            @measures << get('measure', row['measure_id'])
        end

        @foods = ObservableArray.new
        @dbh.select_all("select food_id from food").each do |row|
            @foods << get('food', row['food_id'])
        end
    end