add current known foriegn key fixes possibly required post upgrading
This commit is contained in:
parent
ee6699e641
commit
bcb1cd71e8
|
@ -77,3 +77,32 @@ RENAME TABLE <table_name>_new TO <table_name>;
|
||||||
```
|
```
|
||||||
|
|
||||||
This method is slower overall, but it is better suited for large numbers of duplicates.
|
This method is slower overall, but it is better suited for large numbers of duplicates.
|
||||||
|
|
||||||
|
### Resolving Possible Database Issues Post Upgrading
|
||||||
|
|
||||||
|
#### Foriegn Keys
|
||||||
|
|
||||||
|
Some of the updates include the use of foreign keys now that will bump
|
||||||
|
into issues with previous versions, which would sometimes shove bad
|
||||||
|
data into tables, preventing, causing errors such as below.
|
||||||
|
|
||||||
|
```
|
||||||
|
Error 1452 occurred during database update:
|
||||||
|
Cannot add or update a child row: a foreign key constraint fails (`friendica`.`#sql-10ea6_5a6d`, CONSTRAINT `#sql-10ea6_5a6d_ibfk_1` FOREIGN KEY (`contact-id`) REFERENCES `contact` (`id`))
|
||||||
|
ALTER TABLE `thread` ADD FOREIGN KEY (`iid`) REFERENCES `item` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE;
|
||||||
|
```
|
||||||
|
|
||||||
|
All current known fixes for possible items that can go wrong are as below.
|
||||||
|
|
||||||
|
```SQL
|
||||||
|
delete from item where `owner-id` not in (select id from contact);
|
||||||
|
delete from item where `contact-id` not in (select id from contact);
|
||||||
|
delete from notify where `uri-id` not in (select id from `item-uri`);
|
||||||
|
delete from photo where `contact-id` not in (select id from contact);
|
||||||
|
delete from thread where iid not in (select id from item);
|
||||||
|
delete from item where `author-id` not in (select id from contact);
|
||||||
|
delete from diaspora-interaction where uri-id not in (select id from item-uri);
|
||||||
|
```
|
||||||
|
|
||||||
|
This all has been compiled as of currently from issue #9746, #9753,
|
||||||
|
and #9878.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user