Yes you need db.define_table('....', ...., migrate=False) and you need to
list all fields in that table that should be visible to web2py and the type
they should be mapped to in web2py.
On Wednesday, 6 April 2016 11:01:01 UTC-5, Vu Pham wrote:
>
> Hi Massimo,
>
> I am connecting to an existing Microsoft SQL database through DAL ----- db
> = DAL('mssql4://sa:password@localhost/Unity'). This connection seems to be
> connected because I also created the fake table, and the table was created.
> I can view this table from both Microsoft SQL Manager, and Web2py database
> admistrator. I can access this table by using db().select(db......
>
> However, I can not figure out how to access the existing tables which were
> created outside Web2py. I kept reading the manual related to Legacy
> database, and could find anything ...
> I also tried to call db.define_table with migrate = false, and it is shown
> up in Web2py database admistrator page. BUT can not query it, it keeps
> saying DAL object has not attribute...
> Thanks for helping.
> Vu
>
>
> On Sunday, September 30, 2012 at 10:42:48 AM UTC-7, Massimo Di Pierro
> wrote:
>>
>> This works for me:
>>
>> $ python web2py.py -S welcome -N
>> >>> db = DAL()
>> >>> db.define_table('tablename',Field('name'))
>> <Table tablename (id,name)>
>> >>> db.tablename.drop()
>>
>> Are you try to drop a table "tablename" that was not defined?
>>
>> On Sunday, 30 September 2012 11:55:09 UTC-5, curiouslearn wrote:
>>>
>>> Recently I created a simple game in web2py for educational purposes. It
>>> worked out well, however, for this game I did not make use of a lot of
>>> functionality available in web2py; especially the DAL. I used MySQLdb and
>>> raw sql queries to do the job. Based on the recommendations here, I have
>>> decided to use web2py DAL and other tools provided by web2py to rewrite
>>> the game and to create other apps using web2py. I have a few questions as I
>>> tried a few things. Before I state those, a million thanks to Massimo for
>>> creating web2py; and to Anthony and others who have helped me here to get
>>> out of it when I am stuck.
>>>
>>> Questions about DAL
>>> ------------------------------
>>>
>>> (1) If I am using DAL to create tables, is it true that I should not go
>>> and make changes to the database from mysql prompt?
>>>
>>> For example, I created a table using DAL, then went to mysql prompt and
>>> deleted the table. When I tried to run the code again, I kept getting an
>>> error saying that "table already exists". I looked up on these forums and
>>> there were some suggestions about deleting the .table file related to that
>>> table in the databases folder of the application. I did that and still kept
>>> getting the same error.
>>>
>>> (2) In the documentation, there is a suggestion for using
>>> db.tablename.truncate() for dropping the table.
>>>
>>> I tried the following:
>>>
>>> (a) Enter "python web2py.py -S applicationname". This gives the
>>> iPython prompt.
>>> (b) Enter db = DAL(DAL('mysql://root:mypasswd@localhost/ultimatumG')
>>>
>>> At this point, when I enter db.tablename.drop() (where tablename is the
>>> name of a table in ultimatumG database) I get an error saying :
>>>
>>> 'DAL' object has no attribute tablename.
>>>
>>> How do I make small changes to database? It appears I cannot do them
>>> from mysql prompt because that confuses the application and for some reason
>>> I am unable to connect from iPython prompt.
>>>
>>> I am using version 2.0.9 (2012-09-13) of web2py.
>>>
>>> Thanks for your help.
>>>
>>>
--
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.