70 lines
2.6 KiB
SQL
70 lines
2.6 KiB
SQL
--------------------------------------------------------------------------------
|
|
----
|
|
---- 20170721084900.up.sql: add dwellings table, to deal with flatted addresses.
|
|
----
|
|
---- This program is free software; you can redistribute it and/or
|
|
---- modify it under the terms of the GNU General Public License
|
|
---- as published by the Free Software Foundation; either version 2
|
|
---- of the License, or (at your option) any later version.
|
|
----
|
|
---- This program is distributed in the hope that it will be useful,
|
|
---- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
---- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
---- GNU General Public License for more details.
|
|
----
|
|
---- You should have received a copy of the GNU General Public License
|
|
---- along with this program; if not, write to the Free Software
|
|
---- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
|
---- USA.
|
|
----
|
|
---- Copyright (C) 2017 Simon Brooke for Radical Independence Campaign
|
|
----
|
|
--------------------------------------------------------------------------------
|
|
----
|
|
---- NOTE
|
|
---- This file is essentially a Postgres schema dump of a database schema which was
|
|
---- created with the function initdb! in the file src/clj/youyesyet/db/schema.clj.
|
|
---- This file has then been mildly massaged to work with Migratus.
|
|
---- Either this file or src/clj/youyesyet/db/schema.clj is redundant; schema.clj
|
|
---- represents the older, Korma, way of doing things but does not readily allow
|
|
---- for migrations; this file represents the newer Migratus/HugSQL way. I'm not
|
|
---- certain which of these paths I'm going to go down.
|
|
----
|
|
--------------------------------------------------------------------------------
|
|
|
|
alter table canvassers add column address_id integer references addresses(id);
|
|
--;;
|
|
alter table electors add column address_id integer references addresses(id);
|
|
--;;
|
|
alter table visits add column address_id integer references addresses(id);
|
|
--;;
|
|
|
|
update canvassers set address_id =
|
|
(select address_id from dwellings where id = canvassers.dwelling_id);
|
|
--;;
|
|
|
|
update electors set address_id =
|
|
(select address_id from dwellings where id = electors.dwelling_id);
|
|
--;;
|
|
|
|
update visits set address_id =
|
|
(select address_id from dwellings where id = visits.dwelling_id);
|
|
--;;
|
|
|
|
alter table canvassers alter column address_id set not null;
|
|
--;;
|
|
alter table electors alter column address_id set not null;
|
|
--;;
|
|
alter table visits alter column address_id set not null;
|
|
--;;
|
|
|
|
alter table canvassers drop column dwelling_id;
|
|
--;;
|
|
alter table electors drop column dwelling_id;
|
|
--;;
|
|
alter table visits drop column dwelling_id;
|
|
--;;
|
|
|
|
drop table if exists dwellings;
|
|
--;;
|