Thread: [SQLObject] Unsigned or bigger Integers with MySQL?
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: John S. <sp...@is...> - 2005-09-27 19:35:12
|
I've got a MySQL db with unsigned integer columns which hold integer representations of IPv4 addresses which range from 0 up to 4294967295. The problem is that Integer columns created by SQLObject, int(11) in MySQL, only go up to 2147483647. I've looked but didn't see a way to indicate that my Integer column should be either be unsigned or larger. Is that possible? Thanks. |
From: Oleg B. <ph...@ma...> - 2005-09-27 19:42:00
|
On Tue, Sep 27, 2005 at 03:34:59PM -0400, John Speno wrote: > I've looked but didn't see a way to indicate that my Integer column > should be either be unsigned or larger. Is that possible? Create your own column class: class UnsignedCol(IntCol): ... If you extend it beyond MySQL (to at least Postgres and SQLite) and provide tests - we'd be happy to include it into SQLObject. Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: John S. <sp...@is...> - 2005-10-07 13:31:46
|
On Sep 27, 2005, at 3:41 PM, Oleg Broytmann wrote: > On Tue, Sep 27, 2005 at 03:34:59PM -0400, John Speno wrote: > >> I've looked but didn't see a way to indicate that my Integer column >> should be either be unsigned or larger. Is that possible? >> > > Create your own column class: Thanks. This is what worked for me in case anyone else needs it. YMMV. class SOUnsignedIntCol(sqlobject.col.SOIntCol): def _sqlType(self): return 'int unsigned' class UnsignedIntCol(sqlobject.col.Col): baseClass = SOUnsignedIntCol |
From: Oleg B. <ph...@ma...> - 2005-10-07 14:20:05
|
On Fri, Oct 07, 2005 at 09:31:38AM -0400, John Speno wrote: > class SOUnsignedIntCol(sqlobject.col.SOIntCol): > def _sqlType(self): > return 'int unsigned' > > class UnsignedIntCol(sqlobject.col.Col): > baseClass = SOUnsignedIntCol Why not class UnsignedIntCol(sqlobject.col.IntCol): ? Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: John S. <sp...@is...> - 2005-10-07 14:31:57
|
On Oct 7, 2005, at 10:19 AM, Oleg Broytmann wrote: > On Fri, Oct 07, 2005 at 09:31:38AM -0400, John Speno wrote: > >> class SOUnsignedIntCol(sqlobject.col.SOIntCol): >> def _sqlType(self): >> return 'int unsigned' >> >> class UnsignedIntCol(sqlobject.col.Col): >> baseClass = SOUnsignedIntCol >> > > Why not > > class UnsignedIntCol(sqlobject.col.IntCol): I tried that first and it didn't work. Well, I guess I tried something like this: class UnsignedIntCol(sqlobject.col.IntCol): def _sqlType(self): return 'int unsigned' and it wouldn't work. So I went back to the source and just copied what was working for the rest of the column types. I just figured it was SQLObject magic and I didn't have time to understand it. *shrug* |