Add more notes about developer seeds
This commit is contained in:
parent
cca3d9bf67
commit
170ec4af2b
|
@ -12,6 +12,56 @@ The `setup` task is a alias for `gitlab:setup`.
|
|||
This tasks calls `db:reset` to create the database, calls `add_limits_mysql` that adds limits to the database schema in case of a MySQL database and finally it calls `db:seed_fu` to seed the database.
|
||||
Note: `db:setup` calls `db:seed` but this does nothing.
|
||||
|
||||
### Automation
|
||||
|
||||
If you're very sure that you want to **wipe the current database** and refill
|
||||
seeds, you could:
|
||||
|
||||
``` shell
|
||||
echo 'yes' | bundle exec rake setup
|
||||
```
|
||||
|
||||
To save you from answering `yes` manually.
|
||||
|
||||
### Discard stdout
|
||||
|
||||
Since the script would print a lot of information, it could be slowing down
|
||||
your terminal, and it would generate more than 20G logs if you just redirect
|
||||
it to a file. If we don't care about the output, we could just redirect it to
|
||||
`/dev/null`:
|
||||
|
||||
``` shell
|
||||
echo 'yes' | bundle exec rake setup > /dev/null
|
||||
```
|
||||
|
||||
Note that since you can't see the questions from stdout, you might just want
|
||||
to `echo 'yes'` to keep it running. It would still print the errors on stderr
|
||||
so no worries about missing errors.
|
||||
|
||||
### Notes for MySQL
|
||||
|
||||
Since the seeds would contain various UTF-8 characters, such as emojis or so,
|
||||
we'll need to make sure that we're using `utf8mb4` for all the encoding
|
||||
settings and `utf8mb4_unicode_ci` for collation. Please check
|
||||
[MySQL utf8mb4 support](../install/database_mysql.md#mysql-utf8mb4-support)
|
||||
|
||||
Make sure that `config/database.yml` has `encoding: utf8mb4`, too.
|
||||
|
||||
Next, we'll need to update the schema to make the indices fit:
|
||||
|
||||
``` shell
|
||||
sed -i 's/limit: 255/limit: 191/g' db/schema.rb
|
||||
```
|
||||
|
||||
Then run the setup script:
|
||||
|
||||
``` shell
|
||||
bundle exec rake setup
|
||||
```
|
||||
|
||||
To make sure that indices still fit. You could find great details in:
|
||||
[How to support full Unicode in MySQL databases](https://mathiasbynens.be/notes/mysql-utf8mb4)
|
||||
|
||||
## Run tests
|
||||
|
||||
In order to run the test you can use the following commands:
|
||||
|
|
Loading…
Reference in New Issue