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]> 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]. > 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.

