mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-28 00:10:57 +01:00
a774620042
Summary: This is somewhat clowny, particularly in how it handles JSON encode/decode, but I've commented why I did things the way I did. The goal is to store minified JSON but show pretty-printed JSON where possible, to the user editing it. Test Plan: * Went to /config/ and saw a list of keys from the `default` config. * Clicked on one of them, submitted the default value successfully. * Changed the value to invalid JSON and got a decent error. * Changed the value to valid JSON and checked the DB to confirm it saved. * Confirmed the DB values were minified. * Confirmed the user-facing values were pretty-printed where they could be. * Confirmed that PHIDs were getting assigned properly and that isDeleted properly defaulted to false/0. Reviewers: epriestley Reviewed By: epriestley CC: aran, Korvin Maniphest Tasks: T2246 Differential Revision: https://secure.phabricator.com/D4290
12 lines
533 B
SQL
12 lines
533 B
SQL
CREATE TABLE {$NAMESPACE}_config.config_entry (
|
|
`id` INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
|
`phid` VARCHAR(64) NOT NULL COLLATE utf8_bin,
|
|
`namespace` VARCHAR(64) BINARY NOT NULL COLLATE utf8_bin,
|
|
`configKey` VARCHAR(64) BINARY NOT NULL COLLATE utf8_bin,
|
|
`value` LONGTEXT NOT NULL,
|
|
`isDeleted` BOOL NOT NULL,
|
|
`dateCreated` INT UNSIGNED NOT NULL,
|
|
`dateModified` INT UNSIGNED NOT NULL,
|
|
UNIQUE KEY `key_phid` (`phid`),
|
|
UNIQUE KEY `key_name` (`namespace`, `configKey`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|