Sure. As long as what can and cannot be expected from the functions is 
clear, I'm happy with your way!

Le jeudi 21 mars 2013 16:44:17 UTC+1, Niphlod a écrit :
>
> my point exactly .... it's a matter on how it's perceived as a 
> one-solution-for-all-exporting-problem vs a rapid way to load fixtures/etc 
> in your environment.
>
> On Thursday, March 21, 2013 4:41:48 PM UTC+1, Anthony wrote:
>>
>> Removing the functionality altogether seems extreme. However, perhaps we 
>> should change the documentation to remove the backup/restore terminology 
>> (i.e., we can describe it as a way to "export" and "import" an entire db, 
>> but not recommend it as a primary backup strategy and instead recommend 
>> native db functionality for that purpose).
>>
>> Anthony
>>
>> On Thursday, March 21, 2013 10:57:05 AM UTC-4, dederocks wrote:
>>>
>>> Yes - unless someone finds a good use for these two functions.
>>> It looks to me that if a record has been removed in a db (e.g. id is not 
>>> continuous: 1, 2, 4, 5 for example), the restore won't work if the table is 
>>> linked to another table. This is I think a sufficiently likely case to 
>>> remove the functions - or am I wrong?
>>>
>>> Le jeudi 21 mars 2013 15:42:51 UTC+1, Niphlod a écrit :
>>>>
>>>> so you'd prefer to have it removed alltogether ?
>>>>
>>>> On Thursday, March 21, 2013 3:37:44 PM UTC+1, dederocks wrote:
>>>>>
>>>>> Thanks Ales,
>>>>> Basically, you're confirming the native backup / restore choice. I'm 
>>>>> concerned though that web2py's csv solution is not reliable, and should 
>>>>> therefore be used with high caution -- not to say a word about how slow 
>>>>> it 
>>>>> is. It feels sad for me that web2py which other than that an incredible 
>>>>> tool keeps this unpractical feature.
>>>>>
>>>>> Regards, 
>>>>> Andre
>>>>>
>>>>> Le jeudi 21 mars 2013 15:09:23 UTC+1, LightDot a écrit :
>>>>>>
>>>>>> I solved a similar case by writing a function to a) use native 
>>>>>> postgres dump and archive the database and b) present the file to the 
>>>>>> user 
>>>>>> for download in the administrative back-end. This function is triggered 
>>>>>> by 
>>>>>> cron in my case, but it could also be executed on demand. For this I 
>>>>>> would 
>>>>>> use the scheduler and throw in some additional checks so the user 
>>>>>> doesn't 
>>>>>> trigger the backup too often.
>>>>>>
>>>>>> Hope this helps a bit.
>>>>>>
>>>>>> Regards,
>>>>>> Ales
>>>>>>
>>>>>> On Thursday, March 21, 2013 2:42:51 PM UTC+1, dederocks wrote:
>>>>>>>
>>>>>>> Indeed, or quite close: 
>>>>>>> https://code.google.com/p/web2py/issues/detail?id=1387.
>>>>>>> And to be accurate, I think the issue has more to do with restore 
>>>>>>> than backup.
>>>>>>>
>>>>>>> To build on your comment, there are indeed two ways to deal with 
>>>>>>> backup / restore:
>>>>>>> 1- managed by the database manager using native backup / restore;
>>>>>>> 2- managed by the user, to send the db to another colleague, or 
>>>>>>> restore an older version through the application.
>>>>>>> That's what I'm dealing with right now, and it fails on me. 
>>>>>>>
>>>>>>> Le jeudi 21 mars 2013 13:49:24 UTC+1, LightDot a écrit :
>>>>>>>>
>>>>>>>> Quite right, restoring from, let's say, native mysql dump to 
>>>>>>>> postgresql would most certainly not work. That's exactly why web2py 
>>>>>>>> uses 
>>>>>>>> csv as the export format.
>>>>>>>>
>>>>>>>> I don't think exporting / importing to csv is really recommended 
>>>>>>>> over using the native export / import functionality of your database 
>>>>>>>> engine 
>>>>>>>> or a specialized backup software (depending on your needs). But it 
>>>>>>>> works 
>>>>>>>> and it quickly covers the most broad spectrum possible. For anything 
>>>>>>>> more 
>>>>>>>> specific or complex, it's up to the developer to use something else. I 
>>>>>>>> don't think web2py should try to reinvent the wheel here.
>>>>>>>>
>>>>>>>> If export to csv failed in your case, what exactly was the problem? 
>>>>>>>> The referenced thread is from 2011 and seems to be case specific... 
>>>>>>>> Are you 
>>>>>>>> saying you have the same exact error?
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Ales
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thursday, March 21, 2013 11:12:57 AM UTC+1, dederocks wrote:
>>>>>>>>>
>>>>>>>>> I'm concerned with the lack of reliability and speed of the 
>>>>>>>>> recommended backup / restore functions: db.export_to_csv_file and 
>>>>>>>>> db.import_from_csv_file.
>>>>>>>>> They failed in my case, and apparently I'm not alone (
>>>>>>>>> https://groups.google.com/forum/?fromgroups=#!newtopic/web2py/web2py/reOzXobYNgE
>>>>>>>>> ).
>>>>>>>>> Would it be wise to replace the backup function with something 
>>>>>>>>> like:
>>>>>>>>> import os
>>>>>>>>> if 'sqlite' in db._uri:
>>>>>>>>>     os.system(' '.join(('sqlite3',db.path,'.dump >',targetfile)))
>>>>>>>>> elif 'postgres' in db._uri:
>>>>>>>>>     os.system(' '.join(('pg_dump -f',targetfile, dbname)))
>>>>>>>>> elif 'mysql' in db._uri:
>>>>>>>>>     os.system(' '.join(('mysqldump -r',targetfile, dbname)))
>>>>>>>>>
>>>>>>>>> and similarly the restore function would be:
>>>>>>>>> import os
>>>>>>>>> if 'sqlite' in db._uri:
>>>>>>>>>     os.system(' '.join(('sqlite3',db.path,'<',sourcefile)))
>>>>>>>>> elif 'postgres' in db._uri:
>>>>>>>>>     os.system(' '.join(('pg_restore -d',dbname, sourcefile)))
>>>>>>>>> elif 'mysql' in db._uri:
>>>>>>>>>     os.system(' '.join(('mysqlimport',dbname, sourcefile)))
>>>>>>>>>
>>>>>>>>> Unfortunately I'm not knowlegable enough (yet) about all the 
>>>>>>>>> various databases supported nor about platform-dependent intricacies, 
>>>>>>>>> but 
>>>>>>>>> would this not be a more reliable approach?
>>>>>>>>> The only major downside is that restoring a db from x (say sqlite) 
>>>>>>>>> into y (say postgresql) might not be possible, or require some 
>>>>>>>>> significant 
>>>>>>>>> edit of the dump file. And to make the restore smoother, you'd have 
>>>>>>>>> to 
>>>>>>>>> figure out the source format -- is this possible?
>>>>>>>>>
>>>>>>>>

-- 

--- 
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.


Reply via email to