Recreate groups table instead of adding column

Adding a column with non-constant default not possible in sqlite3
pull/4/merge
Luke Barnard 7 years ago
parent 713e60b9b6
commit 007cd48af6
  1. 18
      synapse/storage/schema/delta/46/group_server.sql

@ -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);

Loading…
Cancel
Save