37 lines
931 B
MySQL
37 lines
931 B
MySQL
|
-- recreate tables (can't add a referential constraint on an existing table)
|
||
|
create table objects_ng(
|
||
|
uid text primary key not null,
|
||
|
x int,
|
||
|
y int,
|
||
|
z int,
|
||
|
posx int,
|
||
|
posy int,
|
||
|
posz int,
|
||
|
type varchar,
|
||
|
mtime bigint
|
||
|
);
|
||
|
|
||
|
create table object_attributes_ng(
|
||
|
object_uid text not null,
|
||
|
key varchar not null,
|
||
|
value varchar not null,
|
||
|
FOREIGN KEY (object_uid) references objects_ng(uid) ON DELETE CASCADE
|
||
|
primary key(object_uid, key)
|
||
|
);
|
||
|
|
||
|
-- migrate data
|
||
|
insert into objects_ng(uid,x,y,z,posx,posy,posz,type,mtime)
|
||
|
select id,x,y,z,posx,posy,posz,type,mtime from objects;
|
||
|
insert into object_attributes_ng(object_uid, key, value)
|
||
|
select objectid, key, value from object_attributes;
|
||
|
|
||
|
-- remove old tables
|
||
|
drop table object_attributes;
|
||
|
drop table objects;
|
||
|
|
||
|
-- rename tables
|
||
|
alter table objects_ng rename to objects;
|
||
|
alter table object_attributes_ng rename to object_attributes;
|
||
|
|
||
|
-- journal mode, just in case
|
||
|
pragma journal_mode=wal;
|