https://github.com/web2py/web2py/blob/master/scripts/extract_mysql_models.py

Ok, it is not working exactly how I thought it was... Do you have
myslqldump install?

Do you use Linux or Windows...

what if you do

python extract_mysql_models.py username:password@data_basename

On Wed, Apr 22, 2015 at 3:28 PM, Ron Chatterjee <achatterjee...@gmail.com>
wrote:

> 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 <achatte...@gmail.com>
>> 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 <achatte...@gmail.com>
>>>> 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://
>>>>>> root@127.0.0.1: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 <nip...@gmail.com> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tuesday, April 21, 2015 at 9:39:14 PM UTC+2, Ron Chatterjee
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> I tried this:
>>>>>>>>>
>>>>>>>>> db = 
>>>>>>>>> DAL('mysql://root@127.0.0.1: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 web2py+un...@googlegroups.com.
>>>>>>>> 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 web2py+un...@googlegroups.com.
>>>>> 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 web2py+un...@googlegroups.com.
>>> 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 web2py+unsubscr...@googlegroups.com.
> 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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to