-- Copyright 2021 The Go Authors. All rights reserved. -- Use of this source code is governed by a BSD-style -- license that can be found in the LICENSE file. BEGIN; CREATE TABLE new_documentation ( id bigint PRIMARY KEY GENERATED ALWAYS AS IDENTITY, unit_id INTEGER NOT NULL, goos goos NOT NULL, goarch goarch NOT NULL, synopsis text NOT NULL, source bytea, UNIQUE (unit_id, goos, goarch), FOREIGN KEY (unit_id) REFERENCES units(id) ON DELETE CASCADE ); COMMENT ON TABLE new_documentation IS 'TABLE documentation contains documentation for packages in the database.'; COMMENT ON COLUMN new_documentation.source IS 'COLUMN source contains the encoded ast.Files for the package.'; ALTER TABLE documentation_symbols DROP COLUMN id; ALTER TABLE documentation_symbols RENAME COLUMN id_bigint TO id; ALTER TABLE documentation_symbols ADD PRIMARY KEY (id); ALTER TABLE documentation_symbols ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY; ALTER TABLE documentation_symbols ADD CONSTRAINT documentation_symbols_documentation_id_fkey FOREIGN KEY (documentation_id) REFERENCES new_documentation(id) ON DELETE CASCADE; ALTER TABLE package_symbols DROP COLUMN id CASCADE; ALTER TABLE package_symbols RENAME COLUMN id_bigint TO id; ALTER TABLE package_symbols ADD PRIMARY KEY (id); ALTER TABLE package_symbols ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY; ALTER TABLE documentation_symbols ADD CONSTRAINT documentation_symbols_package_id_fkey FOREIGN KEY (package_symbol_id) REFERENCES package_symbols(id) ON DELETE CASCADE; END;