summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMalf Furious <m@lfurio.us>2018-09-20 18:14:08 -0400
committerMalf Furious <m@lfurio.us>2018-09-20 18:14:08 -0400
commit86f7cbade863dc89934c5a44bc6683cc3826f8a9 (patch)
tree9fb89ac3b45d0524b521dbe4785237d2a9a0a005
parentc9f0bd92e76b63f8c6380211d309d76d5f4b8d8d (diff)
downloadscrott-86f7cbade863dc89934c5a44bc6683cc3826f8a9.tar.gz
scrott-86f7cbade863dc89934c5a44bc6683cc3826f8a9.zip
mysql: Add various default values
I was experiencing problems on Mysql proper with the way Scrott interacts with the database when forming new objects. It attempts some writeback querries before all attributes are applied to the new objects. This makes sense if you understand how many initNew and helper functions are implemented. As a convenience a function which mutates an object will also apply its changes to the database automatically. These function are used instead of directly settings PHP object properties because there are additional pieces of logic performed to ensure everything remains valid in the datamodel. As was the case for a few types of objects, cirtain functions which behave this way were being called during an object's initNew(), causing DB writebacks to occur before some other 'default-less' field had been defined for that object. This patch provides some 'not so invalid' default states for database table columns which were previously undefined. This should also mitigate some issues I may have not run unto yet.
-rw-r--r--schema.sql8
1 files changed, 4 insertions, 4 deletions
diff --git a/schema.sql b/schema.sql
index 32fc7ab..13db8c7 100644
--- a/schema.sql
+++ b/schema.sql
@@ -94,7 +94,7 @@ CREATE TABLE objects (
guid varchar(8) NOT NULL,
owner varchar(8) NOT NULL DEFAULT '',
parent varchar(8) NOT NULL DEFAULT '',
- name varchar(64) NOT NULL,
+ name varchar(64) NOT NULL DEFAULT '',
created datetime NOT NULL,
updated datetime NOT NULL,
@@ -131,7 +131,7 @@ CREATE TABLE users (
salt varchar(64) NOT NULL, /* random SHA256 output, used as salt for auth */
alias varchar(64) NOT NULL DEFAULT '',
email varchar(64) NOT NULL DEFAULT '',
- emailVer varchar(8) NOT NULL,
+ emailVer varchar(8) NOT NULL DEFAULT '',
admin int(1) NOT NULL DEFAULT 0,
reg int(1) NOT NULL DEFAULT 0, /* if false, user doesn't have valid credentials */
emailConf int(1) NOT NULL DEFAULT 0,
@@ -178,7 +178,7 @@ CREATE TABLE stages (
DROP TABLE IF EXISTS issues;
CREATE TABLE issues (
guid varchar(8) NOT NULL,
- numb int(32) NOT NULL,
+ numb int(32) NOT NULL DEFAULT 0,
assignee varchar(8) NOT NULL DEFAULT '',
seen int(1) NOT NULL DEFAULT 0, /* has the assignee seen this yet? */
description text NOT NULL,
@@ -194,7 +194,7 @@ CREATE TABLE issues (
DROP TABLE IF EXISTS mesgs;
CREATE TABLE mesgs (
guid varchar(8) NOT NULL,
- author varchar(8) NOT NULL,
+ author varchar(8) NOT NULL DEFAULT '',
mesg text NOT NULL,
attachment varchar(64) NOT NULL DEFAULT '',