I used this version (the first one) and change to MySQLdb.
https://groups.google.com/forum/#!searchin/web2py/extract_mysql_models.py/web2py/XPoTlzPG7lQ/ngSsMbd6zHAJ

It gives me an error:

Basically, 

This worked

db = MySQLdb.connect(host = 'localhost',user ='root',passwd = '',db = 
'name_of_my_database')

But this didn't.

extract_mysql_models.py --user 'root' --password '' --host '127.0.0.1' 
--database 'name_of_my_database' --dalname 'wikidb' --colcomments 
--singlemigrate > mywiki.py

Note, my password is empty.

The error I get is simply that it can't connect to the server. So, I am 
going through the code now. 







On Wednesday, April 22, 2015 at 2:49:41 PM UTC-4, Richard wrote:
>
> What do you exactly get out of extract_mysql_models.py applied over an SQL 
> dump of the schema (only no data inserts)?
>
> Richard
>
> On Wed, Apr 22, 2015 at 2:29 PM, Ron Chatterjee <[email protected] 
> <javascript:>> wrote:
>
>> Sorry, wasn't clear. Basically want to create a DAL (db.py) file from an 
>> existing site that I locally hosted (wAMP) which is php front end mysql 
>> backend. I exported out of my WAMP (phpmysqladmin) the tables and fields in 
>> SQL language. Then I tried to make DAL out of it. As you explained, thats 
>> not possible, Now I will try to take a stab at working with 
>> extract_mysql_models.py but it will probably will require some updates. If 
>> nothing works, I can use the MYSQL workbench to connect to the server to 
>> draw me the schema and then write the DAL from that. Hope it clear things 
>> up now. My bad.
>>
>>
>>
>> On Wednesday, April 22, 2015 at 2:04:49 PM UTC-4, Richard wrote:
>>>
>>> Hello Ron,
>>>
>>> The more this thread goes the less I understand what you are trying to 
>>> acheive... Do you want to translate a SQLite DB into a web2py model? or 
>>> MySQL DB? If you do have a MySQL server instance your connection string 
>>> seems correct... But then you have to define the table you want to access 
>>> in this table or you only have DB connection active which give you notting 
>>> because the DAL don't know the DB structure...
>>>
>>> Richard
>>>
>>> On Wed, Apr 22, 2015 at 1:30 PM, Ron Chatterjee <[email protected]> 
>>> wrote:
>>>
>>>> This is what I was looking for. 
>>>>
>>>>
>>>> https://groups.google.com/forum/#!searchin/web2py/extract_mysql_models.py/web2py/XPoTlzPG7lQ/ngSsMbd6zHAJ
>>>>
>>>> But homehow the code didn't work for me even when I followed the 
>>>> example like it says. So, I am creating a stand alone version that works 
>>>> with MySQLdb.
>>>>
>>>>  
>>>>
>>>>
>>>>
>>>>
>>>> On Tuesday, April 21, 2015 at 4:58:52 PM UTC-4, Ron Chatterjee wrote:
>>>>>
>>>>> I have sqlite browser. I am guessing its the same like SQlite Manager 
>>>>> where someone can import, export csv or sql file. I don't have password 
>>>>> in 
>>>>> that database and work externally to the python 
>>>>>
>>>>> *I guess one possibility will be:*
>>>>>
>>>>> import MySQLdb
>>>>>
>>>>> import sys
>>>>>
>>>>> try:
>>>>>
>>>>> db = MySQLdb.connect(host = 'localhost',user ='root',passwd = ' ',db = 
>>>>> 'my_dabasename')
>>>>>
>>>>> except Exception as e:
>>>>>
>>>>> sys.exit('we cant get into the db');
>>>>>
>>>>>  cursor = db.cursor()
>>>>>
>>>>> cursor.execute('SELECT *FROM table')
>>>>>
>>>>> results = cursor.fetchall()
>>>>>
>>>>> print results
>>>>>
>>>>>
>>>>> Once the table is fetched then use the insert_into_table option to 
>>>>> create db object.
>>>>>
>>>>>
>>>>> But I agree with Niphlod, import, export csv is probably the only way 
>>>>> to go around, if it works:-). And also agree with richard. sqlbroser does 
>>>>> take the storage object as input and can export csv table and then use 
>>>>> that 
>>>>> back to create the database. I was just hoping to directly connect to my 
>>>>> local server (WAMP) where I have the mysql database defined. I was under 
>>>>> the impression,  db = DAL('mysql://
>>>>> [email protected]:8000/my_database_name',migrate_enabled=False, 
>>>>> pool_size=20) is the way to go about it.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Tuesday, April 21, 2015 at 4:07:02 PM UTC-4, Richard wrote:
>>>>>>
>>>>>> And what would be the utility since you already have INSERT INTO 
>>>>>> TABLE... Someone can just use something like SQLite Manager (
>>>>>> https://addons.mozilla.org/en-us/firefox/addon/sqlite-manager/) to 
>>>>>> import it... Once in SQLite DB (which anyway it should) he can use 
>>>>>> web2py 
>>>>>> csv export import if he want to migrate from SQLite to Postgres for 
>>>>>> instance...
>>>>>>
>>>>>> Richard
>>>>>>
>>>>>> On Tue, Apr 21, 2015 at 3:55 PM, Niphlod <[email protected]> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tuesday, April 21, 2015 at 9:39:14 PM UTC+2, Ron Chatterjee wrote:
>>>>>>>>
>>>>>>>> I tried this:
>>>>>>>>
>>>>>>>> db = 
>>>>>>>> DAL('mysql://[email protected]:8000/my_database_name',migrate_enabled=False,
>>>>>>>>  
>>>>>>>> pool_size=20)
>>>>>>>>
>>>>>>>> It didn't work either. I guess someone needs to look at how to 
>>>>>>>> connect to legacy database. 
>>>>>>>>
>>>>>>>>
>>>>>>> where is the password ?!
>>>>>>>
>>>>>>> BTW: I think there's a bit of misunderstandings going on in this 
>>>>>>> thread. 
>>>>>>> There are two separate concept at play: schema (structure) AND data.
>>>>>>> Every script/extract_***_models.py can "inspect" an existing 
>>>>>>> database and figure out (with limitations) the model you should write 
>>>>>>> to 
>>>>>>> access that database --> schema (or structure) translated to nifty 
>>>>>>> "db.define_table(....)"
>>>>>>>
>>>>>>> Exporting and importing a csv (compatible with what web2py 
>>>>>>> generates) instead - again, with limitations - is the way to transfer 
>>>>>>> data 
>>>>>>> around.
>>>>>>>
>>>>>>> If you have a long list of SQL statements in a file, those are NOT 
>>>>>>> going to work. 
>>>>>>> There's virtually nothing that reverse-engineers table definitions 
>>>>>>> such as "CREATE TABLE ....." to a model file, nor something that turns 
>>>>>>> "INSERT INTO TABLE..." to a db.table.insert(), although it can be fun 
>>>>>>> to 
>>>>>>> create one (with lots of headaches).
>>>>>>>
>>>>>>>  -- 
>>>>>>> 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 [email protected].
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>  -- 
>>>> 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 [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>  -- 
>> 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 [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to