On Thursday, January 9, 2014 10:02:23 AM UTC-5, Giuseppe D'Amico wrote: > > I have to create the database, using the same model for every user it is > not safe, so I use the session_id as name file for the model, I need to > intercept when a user's session ends, to delete its model >
It's not clear whether you are talking about models or databases. The model is defined during the request and exists only during the request. You don't have to change the name of the model or delete it at the end of the request. You could do: db = DAL([connection string that is specific to this user], ...) db.define_table('mytable', ...) When User A makes a request, db will be a connection to that user's database, and db.mytable will therefore be a model of the "mytable" table in User A's database. When User B makes a request, db will be a connection to a different database, and db.mytable will be a model of the "mytable" table in that database. These objects will be created in different threads and exist only as long as the request lasts. The question is, what happens with all of these databases? Do you really want one for every session, or just one for every registered user. If the latter, do you want the data to persist over time (i.e., beyond the session)? If so, don't use the session ID to name the database. Note, it can be tricky to figure out when a session ends. Technically, the session cookie should last until the user closes their browser, but you can't know when that happens. As an alternative, you could define some time limit of inactivity and automatically expunge any data associated with a session that has been inactive for too long. Anthony -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.