hum... you should just remove the quotes around the connection strings 
(options -y and -Y)  since they are already strings when passed in.
Otherwise, argparse will do this: " ' sqlite://storage.sqlite' " and then 
dal will not be able to open the DB.

So, no quotes, should fix the problem.

-y sqlite://storage.sqlite  &   -Y postgres://postgres:password@
localhost:5432/db_target

I haven't run this in a long time, but just tried it and it ran just fine.  
Note, the -d option is pointing to a recent dal.py which i simply dumped
in the /Users/mart directory.

I don't have a windows machine, but I think i can find one at work tomorrow 
and see if it behaves differently.

guimauve:src mart$ python cpdb.py -f db_storage/cvs -d /Users/mart -y 
sqlite://auth_storage.sqlite -Y sqlite://storage2.sqlite -F db_storage/cvs_2
gluon path not found
creating tables...
exporting data...
importing data...
done!
Attention: do not run this program again or you end up with duplicate 
records
guimauve:src mart$ 


BTW - @ user backseat:  Perhaps a little late, but I just noticed now... 
same goes for you, the quotes need to be removed.

If the manual says "sqlite://storage.sqlite" for options -y and -Y, then 
that should be simply be corrected.

Hope it helps,
Mart 

On Sunday, January 6, 2013 10:03:46 PM UTC-8, Simon Ashley wrote:
>
> Interesting but encountering similar problems to *backseat *on windows 7 
> using the following command from a prompt in web2py root folder: i.e.
>
> c:\web2py> set path=%path%;c:\web2py\gluon
> c:\web2py> c:\python27\python scripts\cpdb.py -d gluon -f 
> application\app\databases 
> -y 'sqlite://storage.sqlite' -Y 
> 'postgres://postgres:password@localhost:5432/db_target'
>
> It ends up with the attached errors, implying more path issues:
>
>
> <https://lh5.googleusercontent.com/-kslYmw5agt4/UOpg5uzEtNI/AAAAAAAAAGs/suKvc8G0x8Q/s1600/copy+database1.png>
> Can anyone suggest windows commands/ path's that may work? 
>
> (Noted the Aptana environment solution, but have a time frame issue. 
> Otherwise may have to go back to backseat's solution of individual exports/ 
> imports)
>
>
>
>
> On Saturday, May 26, 2012 11:32:20 PM UTC+10, mart wrote:
>>
>> the first message is expected because of this import:
>>
>> try:
>>
>>     from gluon import DAL
>>
>> except ImportError as err:
>>
>>     print('gluon path not found')  
>> It wants to assume that that gluon is already loaded as part of the 
>> web2py environment (or as part of some other environment, like Aptana for 
>> example) and that you already have /gluon in your path (maybe even hard 
>> coded). If the gluon path is not set, well, you will get that "gluon path 
>> not found" message and the -d option will be expected. Because the -d 
>> option is expecting a *relative* path, your cmd line args will look 
>> different depending on the environment in which you are running the script. 
>>
>> Hum... I guess being relative is relative ;) 
>>
>> So, as an example, if you were to run this cmd from a simple bash shell 
>> (outside of any dev environment, or outside of a web2py context), you would 
>> simply cd and drill down into .../blabla/.../web2py/scripts/. In which 
>> case, your -d option would look like this:
>> -d ../gluon.  
>>
>> I just did this, and it all worked fine:
>>
>>
>> macMart:Documents mart$ cd Aptana\ Studio\ 
>> Workspace/_p4/src/web2py/scripts/
>>
>> macMart:scripts mart$ python cpdb.py -f ../../db_storage -d ../gluon -y 
>> sqlite://storage.sqlite -Y sqlite://storage2.sqlite -F ../../db_storage2
>>
>> gluon path not found    <== THIS IS AN EXPECTED MESSAGE
>>
>> creating tables...
>>
>> exporting data...
>>
>> importing data...
>>
>> done!
>>
>>
>> Hope it helps and that it makes sense!
>>
>> Mart :)
>>
>> On Thursday, May 17, 2012 2:00:08 AM UTC-7, backseat wrote:
>>>
>>> I'm trying to copy a database from Sqlite to MySQL using the cpdb.py 
>>> script. In the manual, it states: 
>>>
>>> cd web2py 
>>> python scripts/cpdb.py \ 
>>>    -f applications/app/databases \ 
>>>    -y 'sqlite://storage.sqlite' \ 
>>>    -Y 'postgresql://username:password@hocalhost/mydb' 
>>>
>>> However, if I do that I get "gluon path not found". The help file 
>>> suggests 
>>> that I can specify the path to dal.py with -d, but: 
>>>
>>> python scripts/cpdb.py -d gluon/dal.py -f 
>>> applications/pytrack2/databases 
>>> -y 'sqlite://storage.sqlite' -Y 
>>> 'mysql://pytrack2:pytrack2@localhost/pytrack2' 
>>> gluon path not found 
>>> EXCEPTION: could not set DAL 
>>> No module named dal 
>>>
>>> If I use '-d gluon', it's better but now fails with a MySQL error (which 
>>> I 
>>> think relates to foreign keys), although it still gives the 'gluon path 
>>> not found' error: 
>>>
>>> $ python scripts/cpdb.py -d gluon -f applications/pytrack2/databases -y 
>>> 'sqlite://storage.sqlite' -Y 
>>> 'mysql://pytrack2:pytrack2@localhost/pytrack2' 
>>> gluon path not found 
>>> creating tables... 
>>> EXCEPTION: could not make a copy of the database 
>>> (1005, u"Can't create table 'pytrack2.t_companies_archive' (errno: 
>>> 150)") 
>>>
>>> I'm going to continue by migrating by hand; if I should report this 
>>> elsewhere or if you need more details, let me know. 
>>> -- 
>>> "You can have everything in life you want if you help enough other 
>>> people 
>>> get what they want" - Zig Ziglar. 
>>>
>>> Who did you help today? 
>>>
>>

-- 



Reply via email to