lemmy/migrations/2022-10-06-183632_move_blocklist_to_db/down.sql
Dessalines 235cc8b228
Moving settings to Database. (#2492)
* Moving settings to Database.

- Moves many settings into the database. Fixes #2285
- Adds a local_site and instance table. Fixes #2365 . Fixes #2368
- Separates SQL update an insert forms, to avoid runtime errors.
- Adds TypedBuilder to all the SQL forms, instead of default.

* Fix weird clippy issue.

* Removing extra lines.

* Some fixes from suggestions.

* Fixing apub tests.

* Using instance creation helper function.

* Move forms to their own line.

* Trying to fix local_site_data, still broken.

* Fixing federation tests.

* Trying to fix check features 1.

* Addressing PR comments.

* Adding check_apub to all verify functions.
2022-10-27 09:24:07 +00:00

64 lines
2.4 KiB
SQL

-- Add back site columns
alter table site
add column enable_downvotes boolean default true not null,
add column open_registration boolean default true not null,
add column enable_nsfw boolean default true not null,
add column community_creation_admin_only boolean default false not null,
add column require_email_verification boolean default false not null,
add column require_application boolean default true not null,
add column application_question text default 'to verify that you are human, please explain why you want to create an account on this site'::text,
add column private_instance boolean default false not null,
add column default_theme text default 'browser'::text not null,
add column default_post_listing_type text default 'Local'::text not null,
add column legal_information text,
add column hide_modlog_mod_names boolean default true not null,
add column application_email_admins boolean default false not null;
-- Insert the data back from local_site
update site set
enable_downvotes = ls.enable_downvotes,
open_registration = ls.open_registration,
enable_nsfw = ls.enable_nsfw,
community_creation_admin_only = ls.community_creation_admin_only,
require_email_verification = ls.require_email_verification,
require_application = ls.require_application,
application_question = ls.application_question,
private_instance = ls.private_instance,
default_theme = ls.default_theme,
default_post_listing_type = ls.default_post_listing_type,
legal_information = ls.legal_information,
hide_modlog_mod_names = ls.hide_modlog_mod_names,
application_email_admins = ls.application_email_admins,
published = ls.published,
updated = ls.updated
from (select
site_id,
enable_downvotes,
open_registration,
enable_nsfw,
community_creation_admin_only,
require_email_verification,
require_application,
application_question,
private_instance,
default_theme,
default_post_listing_type,
legal_information,
hide_modlog_mod_names,
application_email_admins,
published,
updated
from local_site) as ls
where site.id = ls.site_id;
-- drop instance columns
alter table site drop column instance_id;
alter table person drop column instance_id;
alter table community drop column instance_id;
drop table local_site_rate_limit;
drop table local_site;
drop table federation_allowlist;
drop table federation_blocklist;
drop table instance;