summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMichael Kozono <mkozono@gmail.com>2019-02-20 20:08:03 +0000
committerMichael Kozono <mkozono@gmail.com>2019-02-21 10:25:08 -0800
commit09f7d53ff2723719a7641204941efaefc6aabd36 (patch)
treed584bc73fb3e864493004e8457cf3980ec1c11f7 /doc
parentee0a007f8f47ba1c8117f2e9130663461181a145 (diff)
downloadgitlab-ce-09f7d53ff2723719a7641204941efaefc6aabd36.tar.gz
Add "Seeding an empty database" section
Diffstat (limited to 'doc')
-rw-r--r--doc/development/performance.md15
1 files changed, 15 insertions, 0 deletions
diff --git a/doc/development/performance.md b/doc/development/performance.md
index 32970152911..2a287611bdf 100644
--- a/doc/development/performance.md
+++ b/doc/development/performance.md
@@ -410,6 +410,21 @@ there's nothing stopping somebody from doing this elsewhere in the code:
SOME_CONSTANT = 'bar'
```
+## How to seed a database with millions of rows
+
+You might want millions of project rows in your local database, for example,
+in order to compare relative query performance, or to reproduce a bug. You could
+do this by hand with SQL commands, but since you have ActiveRecord models, you
+might find using these gems more convenient:
+
+- [BulkInsert gem](https://github.com/jamis/bulk_insert)
+- [ActiveRecord::PgGenerateSeries gem](https://github.com/ryu39/active_record-pg_generate_series)
+
+### Examples
+
+You may find some useful examples in this snippet:
+https://gitlab.com/gitlab-org/gitlab-ce/snippets/33946
+
[#15607]: https://gitlab.com/gitlab-org/gitlab-ce/issues/15607
[yorickpeterse]: https://gitlab.com/yorickpeterse
[anti-pattern]: https://en.wikipedia.org/wiki/Anti-pattern