mirror of
https://github.com/Eggbertx/gochan.git
synced 2025-09-16 07:56:24 -07:00
Finish thread/post/file migration.
This commit is contained in:
parent
3905ec1393
commit
3e564bcc4a
7 changed files with 112 additions and 21 deletions
|
@ -267,4 +267,4 @@ CREATE TABLE DBPREFIXwordfilters(
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT INTO DBPREFIXdatabase_version(version)
|
INSERT INTO DBPREFIXdatabase_version(version)
|
||||||
VALUES(1);
|
VALUES(1);
|
||||||
|
|
|
@ -267,4 +267,4 @@ CREATE TABLE DBPREFIXwordfilters(
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT INTO DBPREFIXdatabase_version(version)
|
INSERT INTO DBPREFIXdatabase_version(version)
|
||||||
VALUES(1);
|
VALUES(1);
|
||||||
|
|
|
@ -264,4 +264,4 @@ CREATE TABLE DBPREFIXwordfilters(
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT INTO DBPREFIXdatabase_version(version)
|
INSERT INTO DBPREFIXdatabase_version(version)
|
||||||
VALUES(1);
|
VALUES(1);
|
||||||
|
|
|
@ -264,4 +264,4 @@ CREATE TABLE DBPREFIXwordfilters(
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT INTO DBPREFIXdatabase_version(version)
|
INSERT INTO DBPREFIXdatabase_version(version)
|
||||||
VALUES(1);
|
VALUES(1);
|
||||||
|
|
|
@ -95,24 +95,57 @@ INSERT INTO DBPREFIXposts(is_top_post, ip, created_on, name, tripcode, is_role_s
|
||||||
SELECT parentid = 0, ip, timestamp, name, tripcode, false, email, subject,
|
SELECT parentid = 0, ip, timestamp, name, tripcode, false, email, subject,
|
||||||
message, message_raw, password, deleted_timestamp, deleted_timestamp > '2000-01-01', parentid, boardid, id from DBPREFIXposts_old WHERE parentid <> 0;
|
message, message_raw, password, deleted_timestamp, deleted_timestamp > '2000-01-01', parentid, boardid, id from DBPREFIXposts_old WHERE parentid <> 0;
|
||||||
|
|
||||||
#IF NEVER
|
#IF POSTGRES
|
||||||
UPDATE DBPREFIXposts as posts
|
--Sets correct thread id
|
||||||
SET thread_id = thread.id
|
UPDATE DBPREFIXposts as posts
|
||||||
FROM DBPREFIXthreads as threads
|
SET thread_id = threads.id
|
||||||
WHERE threads.oldpostid = posts.oldparentid AND thread.board_id = posts.oldboardid;
|
FROM DBPREFIXthreads as threads
|
||||||
|
WHERE threads.oldpostid = posts.oldparentid AND threads.board_id = posts.oldboardid;
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
/*
|
#IF MYSQL
|
||||||
UPDATE DBPREFIXposts as posts, DBPREFIXthreads as threads
|
--Sets correct thread id
|
||||||
SET posts.thread_id = thread.id
|
UPDATE DBPREFIXposts as posts, DBPREFIXthreads as threads
|
||||||
WHERE threads.oldpostid = posts.oldparentid AND thread.board_id = posts.oldboardid;
|
SET posts.thread_id = threads.id
|
||||||
*/
|
WHERE threads.oldpostid = posts.oldparentid AND threads.board_id = posts.oldboardid;
|
||||||
INSERT INTO DBPREFIXfiles(file_oder, original_filename, filename, checksum, file_size, is_spoilered, width, height, thumbnail_width, thumbnail_height, oldpostid, oldboardid)
|
#ENDIF
|
||||||
SELECT 1, filename_original, filename, file_checksum, filesize, false, image_w, image_h, thumb_w, thumb_h, id, boardid FROM DBPREFIXposts_old WHERE filename != '';
|
|
||||||
|
|
||||||
UPDATE DBPREFIXfiles as files, DBPREFIXposts as posts
|
INSERT INTO DBPREFIXfiles(file_order, original_filename, filename, checksum, file_size, is_spoilered, width, height, thumbnail_width, thumbnail_height, oldpostid, oldboardid)
|
||||||
SET files.post_id = posts.id
|
SELECT 1, filename_original, filename, file_checksum, filesize, false, image_w, image_h, thumb_w, thumb_h, id, boardid FROM DBPREFIXposts_old WHERE filename <> '';
|
||||||
WHERE files.oldpostid = posts.oldselfid AND files.oldboardid = posts.oldboardid;
|
|
||||||
|
|
||||||
--Redefine foreign keys and not nulls
|
#IF POSTGRES
|
||||||
|
-- Creates files in files table
|
||||||
|
UPDATE DBPREFIXfiles as files
|
||||||
|
SET post_id = posts.id
|
||||||
|
FROM DBPREFIXposts as posts
|
||||||
|
WHERE files.oldpostid = posts.oldselfid AND files.oldboardid = posts.oldboardid;
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
#IF MYSQL
|
||||||
|
-- Creates files in files table
|
||||||
|
UPDATE DBPREFIXfiles as files, DBPREFIXposts as posts
|
||||||
|
SET files.post_id = posts.id
|
||||||
|
WHERE files.oldpostid = posts.oldselfid AND files.oldboardid = posts.oldboardid;
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
ALTER TABLE DBPREFIXthreads DROP COLUMN oldpostid;
|
||||||
|
ALTER TABLE DBPREFIXposts DROP COLUMN oldselfid;
|
||||||
|
ALTER TABLE DBPREFIXposts DROP COLUMN oldparentid;
|
||||||
|
ALTER TABLE DBPREFIXposts DROP COLUMN oldboardid;
|
||||||
|
ALTER TABLE DBPREFIXfiles DROP COLUMN oldpostid;
|
||||||
|
ALTER TABLE DBPREFIXfiles DROP COLUMN oldboardid;
|
||||||
|
ALTER TABLE DBPREFIXfiles ADD CONSTRAINT files_post_id_fk FOREIGN KEY (post_id) REFERENCES DBPREFIXposts(id);
|
||||||
|
ALTER TABLE DBPREFIXposts ADD CONSTRAINT posts_thread_id_fk FOREIGN KEY (thread_id) REFERENCES DBPREFIXthreads(id);
|
||||||
|
|
||||||
|
#IF POSTGRES
|
||||||
|
-- Drops not null constraint
|
||||||
|
ALTER TABLE DBPREFIXposts ALTER COLUMN thread_id SET NOT NULL;
|
||||||
|
ALTER TABLE DBPREFIXfiles ALTER COLUMN post_id SET NOT NULL;
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
#IF MYSQL
|
||||||
|
-- Adds not null constraint
|
||||||
|
ALTER TABLE DBPREFIXposts MODIFY thread_id {fk to serial} NOT NULL;
|
||||||
|
ALTER TABLE DBPREFIXfiles MODIFY post_id {fk to serial} NOT NULL;
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
#ENDIF NEVER
|
|
|
@ -88,3 +88,31 @@ INSERT INTO DBPREFIXposts(is_top_post, ip, created_on, name, tripcode, is_role_s
|
||||||
SELECT parentid = 0, ip, timestamp, name, tripcode, false, email, subject,
|
SELECT parentid = 0, ip, timestamp, name, tripcode, false, email, subject,
|
||||||
message, message_raw, password, deleted_timestamp, deleted_timestamp > '2000-01-01', parentid, boardid, id from DBPREFIXposts_old WHERE parentid <> 0;
|
message, message_raw, password, deleted_timestamp, deleted_timestamp > '2000-01-01', parentid, boardid, id from DBPREFIXposts_old WHERE parentid <> 0;
|
||||||
|
|
||||||
|
|
||||||
|
--Sets correct thread id
|
||||||
|
UPDATE DBPREFIXposts as posts, DBPREFIXthreads as threads
|
||||||
|
SET posts.thread_id = threads.id
|
||||||
|
WHERE threads.oldpostid = posts.oldparentid AND threads.board_id = posts.oldboardid;
|
||||||
|
|
||||||
|
INSERT INTO DBPREFIXfiles(file_order, original_filename, filename, checksum, file_size, is_spoilered, width, height, thumbnail_width, thumbnail_height, oldpostid, oldboardid)
|
||||||
|
SELECT 1, filename_original, filename, file_checksum, filesize, false, image_w, image_h, thumb_w, thumb_h, id, boardid FROM DBPREFIXposts_old WHERE filename <> '';
|
||||||
|
|
||||||
|
|
||||||
|
-- Creates files in files table
|
||||||
|
UPDATE DBPREFIXfiles as files, DBPREFIXposts as posts
|
||||||
|
SET files.post_id = posts.id
|
||||||
|
WHERE files.oldpostid = posts.oldselfid AND files.oldboardid = posts.oldboardid;
|
||||||
|
|
||||||
|
ALTER TABLE DBPREFIXthreads DROP COLUMN oldpostid;
|
||||||
|
ALTER TABLE DBPREFIXposts DROP COLUMN oldselfid;
|
||||||
|
ALTER TABLE DBPREFIXposts DROP COLUMN oldparentid;
|
||||||
|
ALTER TABLE DBPREFIXposts DROP COLUMN oldboardid;
|
||||||
|
ALTER TABLE DBPREFIXfiles DROP COLUMN oldpostid;
|
||||||
|
ALTER TABLE DBPREFIXfiles DROP COLUMN oldboardid;
|
||||||
|
ALTER TABLE DBPREFIXfiles ADD CONSTRAINT files_post_id_fk FOREIGN KEY (post_id) REFERENCES DBPREFIXposts(id);
|
||||||
|
ALTER TABLE DBPREFIXposts ADD CONSTRAINT posts_thread_id_fk FOREIGN KEY (thread_id) REFERENCES DBPREFIXthreads(id);
|
||||||
|
|
||||||
|
|
||||||
|
-- Adds not null constraint
|
||||||
|
ALTER TABLE DBPREFIXposts MODIFY thread_id BIGINT NOT NULL;
|
||||||
|
ALTER TABLE DBPREFIXfiles MODIFY post_id BIGINT NOT NULL;
|
||||||
|
|
|
@ -88,3 +88,33 @@ INSERT INTO DBPREFIXposts(is_top_post, ip, created_on, name, tripcode, is_role_s
|
||||||
SELECT parentid = 0, ip, timestamp, name, tripcode, false, email, subject,
|
SELECT parentid = 0, ip, timestamp, name, tripcode, false, email, subject,
|
||||||
message, message_raw, password, deleted_timestamp, deleted_timestamp > '2000-01-01', parentid, boardid, id from DBPREFIXposts_old WHERE parentid <> 0;
|
message, message_raw, password, deleted_timestamp, deleted_timestamp > '2000-01-01', parentid, boardid, id from DBPREFIXposts_old WHERE parentid <> 0;
|
||||||
|
|
||||||
|
--Sets correct thread id
|
||||||
|
UPDATE DBPREFIXposts as posts
|
||||||
|
SET thread_id = threads.id
|
||||||
|
FROM DBPREFIXthreads as threads
|
||||||
|
WHERE threads.oldpostid = posts.oldparentid AND threads.board_id = posts.oldboardid;
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO DBPREFIXfiles(file_order, original_filename, filename, checksum, file_size, is_spoilered, width, height, thumbnail_width, thumbnail_height, oldpostid, oldboardid)
|
||||||
|
SELECT 1, filename_original, filename, file_checksum, filesize, false, image_w, image_h, thumb_w, thumb_h, id, boardid FROM DBPREFIXposts_old WHERE filename <> '';
|
||||||
|
|
||||||
|
-- Creates files in files table
|
||||||
|
UPDATE DBPREFIXfiles as files
|
||||||
|
SET post_id = posts.id
|
||||||
|
FROM DBPREFIXposts as posts
|
||||||
|
WHERE files.oldpostid = posts.oldselfid AND files.oldboardid = posts.oldboardid;
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE DBPREFIXthreads DROP COLUMN oldpostid;
|
||||||
|
ALTER TABLE DBPREFIXposts DROP COLUMN oldselfid;
|
||||||
|
ALTER TABLE DBPREFIXposts DROP COLUMN oldparentid;
|
||||||
|
ALTER TABLE DBPREFIXposts DROP COLUMN oldboardid;
|
||||||
|
ALTER TABLE DBPREFIXfiles DROP COLUMN oldpostid;
|
||||||
|
ALTER TABLE DBPREFIXfiles DROP COLUMN oldboardid;
|
||||||
|
ALTER TABLE DBPREFIXfiles ADD CONSTRAINT files_post_id_fk FOREIGN KEY (post_id) REFERENCES DBPREFIXposts(id);
|
||||||
|
ALTER TABLE DBPREFIXposts ADD CONSTRAINT posts_thread_id_fk FOREIGN KEY (thread_id) REFERENCES DBPREFIXthreads(id);
|
||||||
|
|
||||||
|
-- Drops not null constraint
|
||||||
|
ALTER TABLE DBPREFIXposts ALTER COLUMN thread_id SET NOT NULL;
|
||||||
|
ALTER TABLE DBPREFIXfiles ALTER COLUMN post_id SET NOT NULL;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue