Project Database

From Nookipedia, the Animal Crossing wiki
Jump to navigation Jump to search
Tom Nook NH Character Icon.png
This project is led by SuperHamster.
As the leader, SuperHamster directs the project and its objectives. You can contact them directly on their talk page to discuss the project.
Tom Nook NH Character Icon.png
This project is led by SuperHamster.
As the leader, SuperHamster directs the project and its objectives. You can contact them directly on their talk page to discuss the project.


Welcome to Project Database, the Nookipedia Project dedicated to establishing and maintaining a database covering the Animal Crossing series.

Cargo[edit]

Nookipedia uses Cargo, a MediaWiki extension that provides a way to store data from templates into a database. This means that we can define data about a subject in just one location, and then re-use it across the wiki through querying. It also enables external users to re-use our data, through the MediaWiki API, api.nookipedia.com, and other services.

Basics[edit]

On the wiki, editors can interact with Cargo through parser functions:

  • #cargo_declare - Defines the schema for a table. Placed within the noinclude part of a template.
  • #cargo_store - Stores one row of data to a Cargo table. Placed within the include part of a template.
  • #cargo_query - Queries Cargo data tables, using SQL components.
  • #cargo_attach - Defines a template as adding rows to a table declared elsewhere.
  • #cargo_compound_query - displays the results of multiple queries in one place.

For full usage documentation, see mw:Extension:Cargo/Storing data and mw:Extension:Cargo/Querying data. For usage examples here on Nookipedia see Furniture/New Horizons.

Best practices[edit]

  • All table and column names should be completely lowercase, with words being separated by an underscore.
  • All table and column names should be singular, not plural. An exception is when a column's values are lists (e.g. a column that holds arrays of materials may be called materials).
  • Column names that refer to the same data should generally be consistent between tables, especially for the same "category" of tables.
    • For example, our item tables refer to the width and length of items as width and length, while our critter tables refer to these values as tank_width and tank_length. The reason for the difference is to clarify that the width of a critter refers to its tank size, and not the critter itself. The important thing here is that the column names are consistent between all item tables across all games, and all critter tables across all games.
  • Values should be plain text (no HTML or wikitext), unless that column is explicitly being used for display.
    • This is so that the data can be queried elsewhere (on both the wiki and externally) without having to worry about formatting issues.
    • Example 1: nh_furniture has columns buy1_price, buy1_currency, and buy1_wikitext. The first two hold an integer and string respectively; the last one holds the value inside of Template:Currency, for easy reference on the wiki.
    • Example 2: In Template:NHFishInfo, the catchphrase parameter stores the catchphrase as a normal string, while catchphrase-display stores the catchphrase with any included HTML. The nh_fish Cargo table stores the former, while the template displays the latter.

List of tables[edit]

This section can be edited at Project Database/List of tables.

The following table lists tables, descriptions, and their status. Note that this table is manually updated. Last update: 13:42, September 8, 2020 (EDT)

Green Production: This table's structure is finalized, and has been fully populated with data. It can reliably be used for querying on-wiki or externally.
Yellow Beta: This table is approaching completion. Structure is near finalized, and/or nearly all data has been populated.
Gray Dev: This table is brand new. Columns may be added, removed, or changed, and/or is still missing a lot of data.
  • A full up-to-date list of tables (and their associated declare/attachment templates) is available at Special:CargoTables.
Status API [nb 1] Table Name Description Structure Notes
Gray No cf_villager City Folk villagers -
Yellow Yes nh_art New Horizons art -
Green Yes nh_bug New Horizons bugs Missing rarity data (common name for rarity percentages TBD).
Yellow No nh_clothing New Horizons clothing -
Green No nh_clothing_variation New Horizons clothing variations -
Green Yes nh_fish New Horizons fish Missing rarity data (common name for rarity percentages TBD).
Green No nh_furniture New Horizons furniture -
Green No nh_furniture_variation New Horizons furniture variations -
Green Yes nh_house New Horizons villager homes (some parts used in villager endpoint) -
Green No nh_interior New Horizons wallpaper and flooring -
Green No nh_language_name New Horizons furniture translations -
Gray No nh_music New Horizons KK records -
Green No nh_photo New Horizons villager photos and posters -
Green No nh_photo_variation New Horizons villager photo customization -
Green Yes nh_recipe New Horizons DIY recipes -
Green Yes nh_sea_creature New Horizons sea creatures Missing rarity data (common name for rarity percentages TBD).
Green No nh_tool New Horizons handheld items -
Green No nh_tool_variation New Horizons handheld item variations -
Green Yes nh_villager New Horizons villagers (using in villager endpoint) -
Gray No nl_villager New Leaf villager preferences -
Yellow No pc_villager Pocket Camp villager info and rewards Columns need renaming to match standard -
Green No pg_fossil Animal Crossing fossils -
Green No song KK Song image, audio and Animal Crossing series appearances -
Yellow No special_character Special character info and Animal Crossing series appearances -
Green Yes villager Animal Crossing series villagers -
Gray No ww_villager Wild World villager picture, quote and preferences -

Helpful links[edit]

General[edit]

Inputting data[edit]

Retrieving data[edit]

Notes[edit]

  1. A check in the API column indicates that the table is queried via api.nookipedia.com