yet another addendum: to me cpdb.py is just a skeleton, it will copy a DB and all that good stuff, but you can add to it for quick access to tables @ from something like a bash shell...
as an example, i have a variation on this that uses urllib2 to download full DB's, connects to it and a python console is started in my bash shell that can make use of the 'db' object. So, i can immediately start using the object db. i.e. $ print db(db.myTable.name=='a_name').select().last().value >>> myField_value or, i added some helpers to quickly display entire tables in a nice and readable format (i can do: -table tableName fields=id,name,value file=./myFile.txt dal @ the cmd line is a wonderful thing! :) Mart :) On Jul 23, 5:03 pm, mart <msenecal...@gmail.com> wrote: > addendum: > > when it has run successfully, you should see an output similar to this > in you shell: > > dalPath: /Users/mart/aptanaApps/src/blueLite/pyUtils/sql/blueSQL > db.tables: ['affectedFile', 'archive', 'auth_cas', 'auth_event', > 'auth_group', 'auth_membership', 'auth_permission', 'auth_user', > 'buildData', 'buildLogger', 'buildProperties', 'changes', 'clean', > 'cmdObjects', 'commonTags', 'compile', 'createdArchive', > 'cumulativeProperties', 'data', 'deliver', 'deliveryFileset', > 'environment', 'ether', 'exceptionLogger', 'ftp', 'ftpGet', > 'issuekeys', 'jiraIssue', 'local_history', 'local_user', 'mail', > 'p4Properties', 'p4Views', 'package', 'plugin_wiki_attachment', > 'plugin_wiki_comment', 'plugin_wiki_link', 'plugin_wiki_page', > 'plugin_wiki_page_archive', 'plugin_wiki_tag', 'Q', 'scriptCompiler', > 'searchAndReplace', 'sjsCompile', 'status', 'sync'] > folder exists: /Users/mart/aptanaApps/src/blueLite/db_storage > creating tables... > exporting data... > importing data... > done! > Attention: do not run this program again or you end up with duplicate > records > > On Jul 23, 4:58 pm, mart <msenecal...@gmail.com> wrote: > > > > > > > > > so, cpdb.py runs on its own (no need to invoque with web2py.py). > > > this is the short version of its usage: > > > usage: cpdb.py [-h] -f SOURCEFOLDER -F TARGETFOLDER -y > > SOURCECONNECTIONSTRING -Y TARGETCONNECTIONSTRING > > [-a AUTOIMPORT] -d DAL [-t {True,False}] [-b TABLES] > > [-c CLEAN] > > > you can something like: > > > $ python cpdb.py -f ./blueLite/db_storage -F ./blueLite/blueP4 -y > > sqlite://storage.sqlite -Y sqlite://storage2.sqlite -d ./blueLite/ > > pyUtils/sql/blueSQL > > > -f points to the folder of the source DB > > -F points t0 the folder of the target DB (which doen't exist yet) > > -y the source connection string > > -Y the target connection string > > -d points to the folder where dal.py lives (like .../gluon > > > -a is set to True by default > > > warning: > > -c will delete the source db & tables! > > -t will truncate all tables > > > i use this within scripts pn a daily basis and all works for me. > > Please try it this way and let me know if you still have issues (i > > have not tested from sqLite to postgres, but if the connection string > > is correct and everything to connect to postgres is on the system then > > all should work well) > > > Mart :) > > > On Jul 23, 4:43 am, Massimo Di Pierro <massimo.dipie...@gmail.com> > > wrote: > > > > Mart wrote it.Let's wait for his opinion first. ;-) > > > > On Jul 23, 3:26 am, Kenneth Lundström <kenneth.t.lundst...@gmail.com> > > > wrote: > > > > > I guess we have to wait for maybe Massimo to look into this. > > > > > Kenneth > > > > > Hi Kenneth, Yes both the connection strings work in db.py which I too > > > > find very puzzling. On Jul 23, 12:24 pm, Kenneth Lundstr m > > > > > <kenneth.t.lundst...@gmail.com> wrote: > > > > >> It sounds like web2py is not able to open either the sqlite file or > > > > >> postgres database. Have you tried to use both connection strings in a > > > > >> model file to test that both works? > > > > > >> Kenneth > > > > > >>> I am having a hard time migrating data from sqlite to postgres > > > > >>> This is the command that I use > > > > >>> ./web2py.py -S testapp -M -N -R scripts/cpdb.py -A -f > > > > >>> sqlite://applications/testapp/databases/storage.sqlite -y 'sqlite:// > > > > >>> applications/testapp/databases/storage.sqlite' -Y 'postgres:// > > > > >>> puser:ppass@localhost/testdb' > > > > >>> It says > > > > >>> web2py Web Framework > > > > >>> Created by Massimo Di Pierro, Copyright 2007-2011 > > > > >>> Version 1.97.1 (2011-06-26 19:25:44) > > > > >>> Database drivers available: SQLite3, pymysql, PostgreSQL > > > > >>> EXCEPTION: could not make a copy of the database > > > > >>> Failure to connect, tried 5 times: > > > > >>> unable to open database file > > > > >>> Any idea how to make this work?