aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Update
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2018-05-20 22:42:47 +0200
committerMario <mario@mariovavti.com>2018-05-20 22:42:47 +0200
commit469809183d232761b8984848c133f9f11f5e7cea (patch)
tree5d072666809f6087bd5dc37e5939fed3305e031e /Zotlabs/Update
parent55e1026c986f1c2c7e2a0376579b01111a93ab5d (diff)
downloadvolse-hubzilla-469809183d232761b8984848c133f9f11f5e7cea.tar.gz
volse-hubzilla-469809183d232761b8984848c133f9f11f5e7cea.tar.bz2
volse-hubzilla-469809183d232761b8984848c133f9f11f5e7cea.zip
update oauth related tables to use bigint/int(10) for user_id column. this is to be more consistent with the rest of the tables and fixes issue #1180
Diffstat (limited to 'Zotlabs/Update')
-rw-r--r--Zotlabs/Update/_1214.php57
1 files changed, 57 insertions, 0 deletions
diff --git a/Zotlabs/Update/_1214.php b/Zotlabs/Update/_1214.php
new file mode 100644
index 000000000..06e5d96ed
--- /dev/null
+++ b/Zotlabs/Update/_1214.php
@@ -0,0 +1,57 @@
+<?php
+
+namespace Zotlabs\Update;
+
+class _1214 {
+
+ function run() {
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ q("START TRANSACTION");
+
+ $r1 = q("ALTER TABLE oauth_clients ALTER COLUMN user_id TYPE bigint USING user_id::bigint");
+ $r2 = q("ALTER TABLE oauth_clients ALTER COLUMN user_id SET NOT NULL");
+ $r3 = q("ALTER TABLE oauth_clients ALTER COLUMN user_id SET DEFAULT 0");
+
+ $r4 = q("ALTER TABLE oauth_access_tokens ALTER COLUMN user_id TYPE bigint USING user_id::bigint");
+ $r5 = q("ALTER TABLE oauth_access_tokens ALTER COLUMN user_id SET NOT NULL");
+ $r6 = q("ALTER TABLE oauth_access_tokens ALTER COLUMN user_id SET DEFAULT 0");
+
+ $r7 = q("ALTER TABLE oauth_authorization_codes ALTER COLUMN user_id TYPE bigint USING user_id::bigint");
+ $r8 = q("ALTER TABLE oauth_authorization_codes ALTER COLUMN user_id SET NOT NULL");
+ $r9 = q("ALTER TABLE oauth_authorization_codes ALTER COLUMN user_id SET DEFAULT 0");
+
+ $r10 = q("ALTER TABLE oauth_refresh_tokens ALTER COLUMN user_id TYPE bigint USING user_id::bigint");
+ $r11 = q("ALTER TABLE oauth_refresh_tokens ALTER COLUMN user_id SET NOT NULL");
+ $r12 = q("ALTER TABLE oauth_refresh_tokens ALTER COLUMN user_id SET DEFAULT 0");
+
+
+ if($r1 && $r2 && $r3 && $r4 && $r5 && $r6 && $r7 && $r8 && $r9 && $r10 && $r11 && $r12) {
+ q("COMMIT");
+ return UPDATE_SUCCESS;
+ }
+ else {
+ q("ROLLBACK");
+ return UPDATE_FAILED;
+ }
+ }
+ else {
+ q("START TRANSACTION");
+
+ $r1 = q("ALTER TABLE oauth_clients MODIFY COLUMN user_id int(10) unsigned NOT NULL DEFAULT 0");
+ $r2 = q("ALTER TABLE oauth_access_tokens MODIFY COLUMN user_id int(10) unsigned NOT NULL DEFAULT 0");
+ $r3 = q("ALTER TABLE oauth_authorization_codes MODIFY COLUMN user_id int(10) unsigned NOT NULL DEFAULT 0");
+ $r4 = q("ALTER TABLE oauth_refresh_tokens MODIFY COLUMN user_id int(10) unsigned NOT NULL DEFAULT 0");
+
+ if($r1 && $r2 && $r3 && $r4) {
+ q("COMMIT");
+ return UPDATE_SUCCESS;
+ }
+ else {
+ q("ROLLBACK");
+ return UPDATE_FAILED;
+ }
+
+ }
+ }
+
+}