Clear, empty, delete database for another import (development)

So, I managed to import my age old forum into Discourse, and I madea Discourse backup of it. Later I will put it down in a production environment and make the static archive. Right now I’m on a developoment build. But now I’m running into a problem: I would like to clear out the database and insert my second forum into Discourse, so that the old forum is removed.

I tried a few threads below, but they didn’t give me the answer I need:

https://meta.discourse.org/t/is-there-a-way-to-clear-out-my-database/23813/

https://meta.discourse.org/t/how-to-delete-the-whole-database/23602/

I even tried cd /;sudo find|grep shared/standalone, but didn’t find the thing to be removed.

Please advise! :slight_smile:

3 „Gefällt mir“

Easiest is to drop the database and create a new one: rake db:drop db:create db:migrate.

10 „Gefällt mir“

It’s probably also a good idea to remove uploads:

   rm -fr public/uploads

I once leaked a load of virus-infected uploads from one site I imported to another client. :sadpanda:

Here is a gist of my new_discourse_database script that kills any running rubies (you can’t drop the database if rails s is running), deletes uploads, makes the new database, and sets an admin user and password. It also prints an obnoxious warning and waits 5 seconds since I’ve run it by mistake a few times too many.

8 „Gefällt mir“

I only have the dump, so this is not an issue

1 „Gefällt mir“

After running bundle exec rake db:drop db:create db:migrate I get the following error:

== Seed from /home/jsilvanus/discourse/db/fixtures/500_lounge_category.rb
rake aborted!
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR:  column groups.visible does not exist
LINE 1: ...AS t1_r22, "groups"."visibility_level" AS t1_r23, "groups"."...
                                                             ^
: SELECT "category_groups"."id" AS t0_r0, "category_groups"."category_id" AS t0_r1, "category_groups"."group_id" AS t0_r2, "category_groups"."created_at" AS t0_r3, "category_groups"."updated_at" AS t0_r4, "category_groups"."permission_type" AS t0_r5, "groups"."id" AS t1_r0, "groups"."name" AS t1_r1, "groups"."created_at" AS t1_r2, "groups"."updated_at" AS t1_r3, "groups"."automatic" AS t1_r4, "groups"."user_count" AS t1_r5, "groups"."alias_level" AS t1_r6, "groups"."automatic_membership_email_domains" AS t1_r7, "groups"."automatic_membership_retroactive" AS t1_r8, "groups"."primary_group" AS t1_r9, "groups"."title" AS t1_r10, "groups"."grant_trust_level" AS t1_r11, "groups"."incoming_email" AS t1_r12, "groups"."has_messages" AS t1_r13, "groups"."flair_url" AS t1_r14, "groups"."flair_bg_color" AS t1_r15, "groups"."flair_color" AS t1_r16, "groups"."bio_raw" AS t1_r17, "groups"."bio_cooked" AS t1_r18, "groups"."public" AS t1_r19, "groups"."allow_membership_requests" AS t1_r20, "groups"."full_name" AS t1_r21, "groups"."default_notification_level" AS t1_r22, "groups"."visibility_level" AS t1_r23, "groups"."visible" AS t1_r24 FROM "category_groups" INNER JOIN "groups" ON "groups"."id" = "category_groups"."group_id" WHERE "category_groups"."category_id" = 2  ORDER BY groups.name
/home/jsilvanus/discourse/app/serializers/category_serializer.rb:24:in `group_permissions'
/home/jsilvanus/discourse/app/serializers/category_serializer.rb:38:in `available_groups'
(eval):28:in `_fast_attributes'
/home/jsilvanus/discourse/app/models/category.rb:259:in `publish_category'
(eval):11:in `block (3 levels) in run_file'
(eval):9:in `block (2 levels) in run_file'
/home/jsilvanus/discourse/lib/tasks/db.rake:8:in `block in <main>'
/home/jsilvanus/.rbenv/versions/2.3.4/bin/bundle:23:in `load'
/home/jsilvanus/.rbenv/versions/2.3.4/bin/bundle:23:in `<main>'
PG::UndefinedColumn: ERROR:  column groups.visible does not exist
LINE 1: ...AS t1_r22, "groups"."visibility_level" AS t1_r23, "groups"."...
                                                             ^
/home/jsilvanus/discourse/app/serializers/category_serializer.rb:24:in `group_permissions'
/home/jsilvanus/discourse/app/serializers/category_serializer.rb:38:in `available_groups'
(eval):28:in `_fast_attributes'
/home/jsilvanus/discourse/app/models/category.rb:259:in `publish_category'
(eval):11:in `block (3 levels) in run_file'
(eval):9:in `block (2 levels) in run_file'
/home/jsilvanus/discourse/lib/tasks/db.rake:8:in `block in <main>'
/home/jsilvanus/.rbenv/versions/2.3.4/bin/bundle:23:in `load'
/home/jsilvanus/.rbenv/versions/2.3.4/bin/bundle:23:in `<main>'
NameError: NameError
/home/jsilvanus/discourse/app/models/category.rb:259:in `publish_category'
(eval):11:in `block (3 levels) in run_file'
(eval):9:in `block (2 levels) in run_file'
/home/jsilvanus/discourse/lib/tasks/db.rake:8:in `block in <main>'
/home/jsilvanus/.rbenv/versions/2.3.4/bin/bundle:23:in `load'
/home/jsilvanus/.rbenv/versions/2.3.4/bin/bundle:23:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

I ran db:drop and db:craete separately as well, they went fine. db:migrate gives the fail.

I ran into the same problem today. Quick workaround: Call db:migrate twice.

7 „Gefällt mir“

Hi, we had a user field which has been removed during time. but some users has already filled it. Is there anyway to remove or clear those entries from the database?

the reason I want to remove it, is that It’s annoying some of our old users, as they can’t change the field anymore.

I’ve already tried to explain the problem here:

https://meta.discourse.org/t/removed-user-fileds-are-still-shown-in-user-profile-page/71344?u=pad_pors

Ich versuche, eine Datenbank zu löschen, die ich zum Testen eines Imports verwende, aber der folgende Befehl hat nichts gelöscht:

bundle exec rake db:drop db:create db:migrate

Beim Aktualisieren sehe ich immer noch alle Daten des vorherigen Imports.

Muss ich noch etwas anderes tun, um die Datenbank vollständig zu löschen und neu aufzubauen, damit ich die Einrichtung erneut durchlaufen und/oder einen weiteren Import versuchen kann?

Schauen Sie sich das hier an

1 „Gefällt mir“

Ich finde es einfacher, direkt nach der Einrichtung der Website ein Backup zu erstellen und dieses dann wiederherzustellen.

1 „Gefällt mir“

Dieses Thema wurde nach 2515 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr möglich.