Recreate groups table instead of adding column

Adding a column with non-constant default not possible in sqlite3
This commit is contained in:
Luke Barnard 2017-10-26 17:55:22 +01:00
parent 713e60b9b6
commit 007cd48af6

View file

@ -13,6 +13,20 @@
* limitations under the License.
*/
-- whether non-members can access group APIs
CREATE TABLE groups_new (
group_id TEXT NOT NULL,
name TEXT, -- the display name of the room
avatar_url TEXT,
short_description TEXT,
long_description TEXT,
is_public BOOL NOT NULL -- whether non-members can access group APIs
);
-- NB: awful hack to get the default to be true on postgres and 1 on sqlite
ALTER TABLE groups ADD COLUMN is_public BOOL DEFAULT (1=1) NOT NULL;
INSERT INTO groups_new
SELECT group_id, name, avatar_url, short_description, long_description, (1=1) FROM groups;
DROP TABLE groups;
ALTER TABLE groups_new RENAME TO groups;
CREATE UNIQUE INDEX groups_idx ON groups(group_id);