I see in this forum that some folk have wanted to migrate "uploads stored 
in the file system" to "uploads stored in the database".
Massimo has shown a simple piece of code to assist that migration.

I think I have the opposite requirement.

Firstly....
I had assumed that storing uploads in the file system would be preferred? 
(with uploadseparate=True)
I would like to ask if, in fact, it is really better to hold them in the 
database rather than the file system?
Is there (or is there not) an impact on the database of holding perhaps a 
few thousand image blobs in the db? (I run sqlite)
There has got to be a reason why folk have wanted to migrate from a file 
system store to a db store......


Secondly......
I have an application where users can upload a "banner image" into the 
database, as follows:

  ........
  
Field('banner','upload',requires=IS_EMPTY_OR(IS_IMAGE(minsize=(100,100),maxsize=(1000,200),
  extensions=('png','jpeg','jpg'))),uploadfield='banner_image'),
  Field('banner_image','blob'),
  ...........

I only have maybe 250 images thus far. But the volume of the banners might 
become greater than I had originally scoped (over time), so I am wondering 
it would be better to migrate this to store the banner images on the file 
system.

If my thought-process about using the file system is correct, is there an 
easy way to do this?

I guess I have to change the model to be
  ........
  
Field('banner','upload',requires=IS_EMPTY_OR(IS_IMAGE(minsize=(100,100),maxsize=(1000,200),
  
extensions=('png','jpeg','jpg'))),uploadfolder=os.path.join(request.folder,'static/images/banners'),uploadseparate=True),
  Field('banner_image','blob'),   
  #I can leave the blob there as sqlite doesn't drop it anyway (I can 
always update the records to None)
  ...........

Then, I would have to pull each image and store it in the file system
I assume the filename is in <table>.banner, and the image is in 
<table>.banner_image ??
I think the download() function returns a URL only, whereas I need to pull 
the image

Is this possible (and easy) to do? 
Actually, I don't mind if the 250 or so images I have at the moment are 
stored directly in static/images/banners and that only future uploads will 
be managed with uploadseparate=True.

I am sure I can figure out a script to do this (unless someone has one 
already), but the experts on this forum might tell me it is really best to 
store these in the database after all.

I have 2.9.5 and sqlite (btw, I have not migrated to mysql (yet!!), because 
the transaction rate is quite low).

Thanks as always. I'm forever learning....
Simon


-- 
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/d/optout.

Reply via email to