diff options
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | lib/sqlalchemy/databases/sqlite.py | 12 | ||||
-rw-r--r-- | lib/sqlalchemy/ext/sqlsoup.py | 2 |
3 files changed, 9 insertions, 6 deletions
@@ -45,6 +45,7 @@ max, min, etc.) on a SelectResults that has an ORDER BY clause - fixes to types so that database-specific types more easily used; fixes to mysql text types to work with this methodology [ticket:269] +- some fixes to sqlite date type organization 0.2.6 - big overhaul to schema to allow truly composite primary and foreign diff --git a/lib/sqlalchemy/databases/sqlite.py b/lib/sqlalchemy/databases/sqlite.py index 1727dce94..e3bc0b9c9 100644 --- a/lib/sqlalchemy/databases/sqlite.py +++ b/lib/sqlalchemy/databases/sqlite.py @@ -31,9 +31,7 @@ class SLInteger(sqltypes.Integer): class SLSmallInteger(sqltypes.Smallinteger): def get_col_spec(self): return "SMALLINT" -class SLDateTime(sqltypes.DateTime): - def get_col_spec(self): - return "TIMESTAMP" +class DateTimeMixin(object): def convert_bind_param(self, value, dialect): if value is not None: return str(value) @@ -49,16 +47,20 @@ class SLDateTime(sqltypes.DateTime): except ValueError: (value, microsecond) = (value, 0) return time.strptime(value, fmt)[0:6] + (microsecond,) + +class SLDateTime(sqltypes.DateTime, DateTimeMixin): + def get_col_spec(self): + return "TIMESTAMP" def convert_result_value(self, value, dialect): tup = self._cvt(value, dialect, "%Y-%m-%d %H:%M:%S") return tup and datetime.datetime(*tup) -class SLDate(SLDateTime): +class SLDate(sqltypes.Date, DateTimeMixin): def get_col_spec(self): return "DATE" def convert_result_value(self, value, dialect): tup = self._cvt(value, dialect, "%Y-%m-%d") return tup and datetime.date(*tup[0:3]) -class SLTime(SLDateTime): +class SLTime(sqltypes.Time, DateTimeMixin): def get_col_spec(self): return "TIME" def convert_result_value(self, value, dialect): diff --git a/lib/sqlalchemy/ext/sqlsoup.py b/lib/sqlalchemy/ext/sqlsoup.py index 2f41b13bd..a0c8bd351 100644 --- a/lib/sqlalchemy/ext/sqlsoup.py +++ b/lib/sqlalchemy/ext/sqlsoup.py @@ -181,7 +181,7 @@ CREATE TABLE loans ( book_id int PRIMARY KEY REFERENCES books(id), user_name varchar(32) references users(name) ON DELETE SET NULL ON UPDATE CASCADE, - loan_date date DEFAULT current_timestamp + loan_date datetime DEFAULT current_timestamp ); insert into users(name, email, password, admin) |