There's still do not need to create the database objects in your
routes. Use a configure block like the following, then reference the
database constants in your routes:

configure do
  BLOG_DB     = Sequel.connect("sqlite://db/blog/data.db")
  PICTURES_DB = Sequel.connect("sqlite://db/pictures/data.db")
  RECORDS_DB  = Sequel.connect("sqlite://db/records/data.db")
end

get '/' do
     #do something with BLOG_DB
     #do something with PICTURES_DB
     #do something RECORDS_DB
end

On Oct 9, 4:02 am, coolesting <[email protected]> wrote:
> Assuming you need to simultaneous operate three or more database, they
> will be referenced difference connect of database, how would you do
> it?
>
> 2011/10/8 Jeremy Evans <[email protected]>:
>
>
>
>
>
>
>
> > On Oct 8, 6:25 pm, coolesting <[email protected]> wrote:
> >> Yeah, i am creating multipe Database objects, but the case as not the
> >> same as you said, i not use the block,  but with a function for
> >> creating the Sequel connect, the code as the following,
>
> >> def db(name, type)
> >>      Sequel.connect("#{type}://db/#{name}/data.db")
> >> end
>
> >> So, i use the SINATRA as the Controller layer, then,
>
> >> get '/' do
> >>      blog = db('myblog', 'sqlite')
> >>      #do something
> >>      #do something
>
> >>      pictures = db('pictures', 'mysql')
> >>      #do something
> >>      #do something
>
> >>      records = db('records', 'postgresql')
> >>      #do something
> >>      #do something
>
> >> end
>
> >> after do
> >>      #So, we are here for closing the database connect at once.
> >>      #What should i do , or we should do nothing.
> >> end
>
> > You would probably want to run the following for all of the Database
> > objects you are creating:
>
> >  db.disconnect
> >  Sequel::DATABASES.delete(db)
>
> > The first line disconnects the underlying connections for the
> > database.  The second removes the reference that Sequel keeps to the
> > Database objects, allowing them to be garbage collected.
>
> > I'm not sure why you are creating Database objects inside a Sinatra
> > action.  I would generally consider it a bad design, but I suppose
> > depending on your app you may need to do so.
>
> > Jeremy
>
> > Jeremy
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "sequel-talk" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/sequel-talk?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sequel-talk?hl=en.

Reply via email to