The version in the thread seems not have been included in web2py...

Try the one in gluon/scripts/

Richard

On Wed, Apr 22, 2015 at 3:41 PM, Richard Vézina <ml.richard.vez...@gmail.com
> wrote:

> This regex : regex = re.compile('(.*?):(.*?)@(.*)')
>
> Seems to parse the below command line call!!
>
> Richard
>
> On Wed, Apr 22, 2015 at 3:39 PM, Richard Vézina <
> ml.richard.vez...@gmail.com> wrote:
>
>>
>> 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