Introduce new patterns for direct sql that are safe and fast.
MiniSql is not prone to memory bloat that can happen with direct PG usage.
It also has an extremely fast materializer and very a convenient API
- DB.exec(sql, *params) => runs sql returns row count
- DB.query(sql, *params) => runs sql returns usable objects (not a hash)
- DB.query_hash(sql, *params) => runs sql returns an array of hashes
- DB.query_single(sql, *params) => runs sql and returns a flat one dimensional array
- DB.build(sql) => returns a sql builder
See more at: https://github.com/discourse/mini_sql
* Make sure the category description is imported correctly
(the about topic usually had the wrong excerpt).
* Allow import scripts to mark topics as closed or archived.
* Allow import scripts to store the topic's original id.
It will be stored in topic_custom_fields as import_topic_id.
* store time it took to index message in DB (to find performance issues)
* ignore listserv specific files
* better examples for split_regex
* first email in mbox shouldn't contain the split string
* always lock the DB in exclusive mode
* save email within transaction
* messages can be grouped by subject and use original order (for Listserv)
* adds option to index emails without running the import
- Added the 'hierarchical=false' query parameter to retrieve comments (replies) chronologically
- Calling 'create_post' (singular) wasn't updating the LookupContainer and thus we couldn't populate the 'reply_to_post_number' column
- improve perf of test for existing posts
- always use a system guardian when importing posts
- for lithuim importer requery raw (transform is not repeatable)
- Move some methods into their own classes in order to make it easier
to reuse them outside of classes extending the base importer. For
compatibility reasons the old methods are still in the base importer
and delegate to the new objects. The following methods and hashes were
extracted:
- all the lookup maps for existing and imported data
- all the methods used for uploads and attachments
- No need to store failed users and groups. This information wasn't
used anyway.
- Print progress instead of category names when importing categories.
- Allow importers to override if bbcode_to_md should be used (until now
it always used ARGV)
- Allow importers to add additional site settings that automatically get
restored after the importer finishes.
- Show how many posts and messages are imported per minute. This should
help detecting when the import is slowing down and needs to be
restarted.
- Use max_image_width and max_image_height from settings instead of
hard-coded values for uploaded images.