From 09f7d53ff2723719a7641204941efaefc6aabd36 Mon Sep 17 00:00:00 2001 From: Michael Kozono Date: Wed, 20 Feb 2019 20:08:03 +0000 Subject: Add "Seeding an empty database" section --- doc/development/performance.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'doc') 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 -- cgit v1.2.3