Files
zkldi_Tachi/database-seeds
..
2022-07-04 02:15:42 +01:00
2022-02-20 14:42:25 +00:00
2021-10-01 14:50:20 +01:00
2022-05-20 00:30:14 +01:00

Tachi Database Seeds

This repository contains some base "seed" files for the Tachi Database.

They are intended to be used with MongoDB, but since these are just a JSON export, you can really do anything you want with them.

Contribution Info

All work should be merged into develop. That branch is synced with the staging deploys of Tachi.

Changes will then be merged and cherry picked into production whenever is best. Production will be reset as a branch every once in a while, and lose its history. This is fine. Don't worry about it.

What Databases Are Here?

Nothing private, nothing pertaining to an instance of Tachi. These are backbone files, such as songs, charts, and folders.

You can read more about what all these documents mean in tachi-common.

  • songs-{game}

These contain the song documents for the provided game.

  • charts-{game}

These contain the chart documents for the provided game.

  • folders

This contains the set folders for all games.

  • tables

This contains the set tables for all games.

  • bms-course-lookup

BMS Dans that should be registered by the IR.

How do I use this?

Depends what you want. If you're familiar with JSON, just take the files and do whatever.

If you want to analyse this data in a more advanced fashion, install mongodb-tools (You'll want mongoimport in $PATH) from your favourite location.

Then, run these commands:

cd scripts
pnpm install
node import -d your_db_name

Note that you'll need pnpm and node installed.

You can then use a tool like MongoDB Compass to analyse the data.

Contribution

If your change involves inserting or removing records, you must run node scripts/deterministic-collection-sort.js. This will ensure diffs stay somewhat sane.

I want db dumps for things like scores and users!

Coming soon...

Oddities

Yes. I force push develop to production from time to time. This is because git cherry-pick result in a diverging history. Some repositories do this by making a release-vX.x.x branch and updating that, but I really don't need the archiving.