Commit graph

6 commits

Author SHA1 Message Date
cmrd Senya
b5db8820d6 Account Migration rake task: render warnings with a newline 2019-04-27 15:13:14 +03:00
cmrd Senya
f85f167f50 Implement archive import backend
This implements archive import feature.

The feature is divided in two main subfeatures: archive validation and archive import.

Archive validation performs different validation on input user archive. This can be
used without actually running import, e.g. when user wants to check the archive
before import from the frontend. Validators may add messages and modify the archive.

Validators are separated in two types: critical validators and non-critical validators.

If validations by critical validators fail it means we can't import archive.

If non-critical validations fail, we can import archive, but some warning messages
are rendered.

Also validators may change archive contents, e.g. when some entity can't be
imported it may be removed from the archive.

Validators' job is to take away complexity from the importer and perform the validations
which are not implemented in other parts of the system, e.g. DB validations or
diaspora_federation entity validations.

Archive importer then takes the modified archive from the validator and imports it.

In order to incapsulate high-level migration logic a MigrationService is
introduced. MigrationService links ArchiveValidator, ArchiveImporter and
AccountMigration.

Also here is introduced a rake task which may be used by podmins to run archive
import.
2019-04-26 18:41:27 +03:00
Benjamin Neff
80d1352ba4 Cleanup old rake tasks
* accounts:run_deletions: was added with 0.4.0.0 two years ago for one-time usage.
* db:rebuild: db:reset does basically the same
* db:integration:preprare: the integration environments are not used.
* db:reset: there is a default db:reset, no need to write our own.
* db:drop_integration: the integration environments are not used.
* db:fix_diaspora_handle: really old migration from 2010
* db:move_private_key: also old migration from 2010
* maintenance:clear_carrierwave_temp_uploads: tmp/uploads doesn't exist anymore. And we have CleanCachedFiles as cronjob.
* maintenance:install_logrotate_config: diaspora has built-in logrotate support now, and people who want to use logrotate instead can write their own configs with the values they want.
* migrations:copy_hidden_share_visibilities_to_users: old migration from 2012
* migrations:invitations: legacy invitations were removed with #6976
* migrations:absolutify_image_references: old migration from 2010
* migrations:rewire_uppercase_hashtags: old migration from 2012
* migrations:remove_uppercase_hashtags: old migration from 2012
2016-08-14 19:42:30 +02:00
khall
41dc950a06 Adding scope for account_deletion to get only those that are uncompleted and then adding that scope to accounts.rake. Tested it out and it works well 2014-08-24 19:02:11 -07:00
Jonne Haß
fc1f249129 Harden account deletion
* Wrap it into a transaction
* Use destroy over delete so dependent destroys get triggered
  and we thus don't fail on the foreign key constraits
* Check if a photos status message actually exists before accessing
  it
* Add missing dependent destroys
2014-05-27 00:15:15 +02:00
Ruxton
ba223fd3d7 Rake task for running outstanding account deletions 2014-05-19 16:05:16 +08:00