#792 #814 Create command to remove NOT NULL constraints

- Create command under /authme debug that allows to change the 'nullable' status of MySQL columns (currently last date and email only)
   - We need to offer a default value for forum integrations that have a NOT NULL email column. Offering a command avoids us from force-migrating existing databases while still offering migrations in both directions
- Change in default value handling: lack of values are not handled by setting default values to the PlayerAuth anymore, and reading a default value from the database into a PlayerAuth will be translated into null by the PlayerAuth builder
- When a new database is created, email and lastlogin are now nullable and lack a default a value

Open points:
- Finish MySqlDefaultChangerTest
- Revise purging logic (#792)
- Allow to have more columns nullable (#814)
This commit is contained in:
ljacqu
2017-10-15 12:56:13 +02:00
parent 718c38aa24
commit 1df5308e56
19 changed files with 583 additions and 40 deletions
+5 -1
View File
@@ -156,7 +156,7 @@ permissions:
description: Permission node to bypass AntiBot protection.
default: op
authme.bypasscountrycheck:
description: Permission to use to see own other accounts.
description: Permission to bypass the GeoIp country code check.
default: false
authme.bypassforcesurvival:
description: Permission for users to bypass force-survival mode.
@@ -173,6 +173,7 @@ permissions:
authme.debug.group: true
authme.debug.limbo: true
authme.debug.mail: true
authme.debug.mysqldef: true
authme.debug.perm: true
authme.debug.spawn: true
authme.debug.stats: true
@@ -195,6 +196,9 @@ permissions:
authme.debug.mail:
description: Permission to use the test email sender.
default: op
authme.debug.mysqldef:
description: Permission to change nullable status of MySQL columns.
default: op
authme.debug.perm:
description: Permission to use the permission checker.
default: op