summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES1
-rw-r--r--lib/sqlalchemy/databases/sqlite.py12
-rw-r--r--lib/sqlalchemy/ext/sqlsoup.py2
3 files changed, 9 insertions, 6 deletions
diff --git a/CHANGES b/CHANGES
index 43778d4d7..c5c2e81fa 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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)