浏览代码

Add comments to SQL-scripts to ensure robust timezone handling

Closes gh-2217

Signed-off-by: wheleph <wheleph@gmail.com>
wheleph 1 周之前
父节点
当前提交
94fe58edf2

+ 8 - 0
oauth2-authorization-server/src/main/resources/org/springframework/security/oauth2/server/authorization/client/oauth2-registered-client-schema.sql

@@ -1,3 +1,11 @@
+/*
+IMPORTANT:
+    If using PostgreSQL:
+        - update ALL columns defined with 'timestamp' to 'timestamptz', to ensure that time instants are stored accurately.
+    If using MySQL:
+        - add 'preserveInstants=true&connectionTimeZone=UTC&forceConnectionTimeZoneToSession=true' to JDBC connection URL
+          to ensure that time instants are stored accurately. See https://dev.mysql.com/doc/connector-j/en/connector-j-time-instants.html
+*/
 CREATE TABLE oauth2_registered_client (
     id varchar(100) NOT NULL,
     client_id varchar(100) NOT NULL,

+ 6 - 2
oauth2-authorization-server/src/main/resources/org/springframework/security/oauth2/server/authorization/oauth2-authorization-schema.sql

@@ -1,7 +1,11 @@
 /*
 IMPORTANT:
-    If using PostgreSQL, update ALL columns defined with 'blob' to 'text',
-    as PostgreSQL does not support the 'blob' data type.
+    If using PostgreSQL:
+        - update ALL columns defined with 'blob' to 'text', as PostgreSQL does not support the 'blob' data type.
+        - update ALL columns defined with 'timestamp' to 'timestamptz', to ensure that time instants are stored accurately.
+    If using MySQL:
+        - add 'preserveInstants=true&connectionTimeZone=UTC&forceConnectionTimeZoneToSession=true' to JDBC connection URL
+          to ensure that time instants are stored accurately. See https://dev.mysql.com/doc/connector-j/en/connector-j-time-instants.html
 */
 CREATE TABLE oauth2_authorization (
     id varchar(100) NOT NULL,