Support

Direct help for common BaseBuddy setup, access, mapping, editing, and deployment tasks.

Support/How to map categories on BaseBuddy

How to map categories on BaseBuddy

Connect your existing category storage so categories appear in the post editor and the built-in Categories section.

Use this guide when your posts already have categories in Postgres or Supabase and you want BaseBuddy editors to assign them safely.

BaseBuddy supports categories in two built-in places: as a category relation beside an open post, and as the Categories section in the project sidebar after categories are mapped. This is not arbitrary sidebar customization. You are connecting your existing category storage to BaseBuddy's supported category editor.

BaseBuddy does not create a new taxonomy model, rename your tables, or move category data into BaseBuddy-owned tables. The saved mapping tells BaseBuddy where categories live and how a category change should be written.

Content mapping overview showing posts, authors, categories, tags, media, and files connected
Content mapping overview showing posts, authors, categories, tags, media, and files connected

Choose the real category shape

Start from how your database stores the relationship today.

Storage shapeCommon exampleHow to map it
Single foreign keyposts.category_id points to categories.idMap the category field to the post column. BaseBuddy shows a single category selector.
Join tablepost_categories.post_id and post_categories.category_idChoose Stored in another table, then select the connection table and item column. BaseBuddy shows a multi-category selector.
Array columnposts.category_ids or posts.categoriesMap the array column when the values match category IDs or safe stored values.
JSON arrayposts.metadata.categories or a JSON column with category valuesMap the JSON column and confirm the JSON array shape when BaseBuddy shows that control.
Derived text valuesposts.category or distinct category names on postsTreat this as limited or read-only unless the mapping has a safe write path.

If the relation is trigger-owned, view-derived, polymorphic without clear discriminator rules, or unclear to patch, keep it read-only or unsupported until the database owner confirms the write path.

Map the category fields

Categories need a readable category source as well as the post-to-category connection.

Map the fields BaseBuddy can safely use:

Category fieldCommon columnsNotes
IDid, category_idThe stable value BaseBuddy uses to identify one category.
Namename, title, category_nameThe label editors see in selectors and the Categories section.
Slugslug, handleOptional, but useful when your site routes categories by slug.
Descriptiondescription, summary, excerptOptional editing field for category metadata.
Parent Categoryparent_id, parent_category_id, parentOptional hierarchy field for nested categories.

Only map fields that exist in your current schema. If your category table does not have descriptions or parents, skip those fields instead of inventing them.

Open category mapping

  1. Open your BaseBuddy project.
  2. Select Project Settings in the sidebar.
  3. Open Mapping.
  4. Confirm Posts mapping is connected first. Category mapping depends on the posts source.
  5. Find Categories mapping.
  6. Click Open Categories mapping.

If the button says Map Posts first, open Posts mapping, finish the posts setup, save it, then return to Categories mapping.

Connect posts to categories

In the mapping dialog, BaseBuddy opens the Categories step.

  1. Use the Categories field to choose where the post stores category assignment.
  2. For a single foreign key, choose the post column such as category_id.
  3. For a join table, choose Stored in another table, then select the connection table such as post_categories.
  4. Choose the item column that points at the category table.
  5. For an array or JSON column, select the stored column and review the shape controls BaseBuddy shows.
  6. Map the category fields: ID, Name, Slug, Description, and Parent where available.
  7. Click Finish.
  8. In the confirmation dialog, click Save mapping.

After saving, BaseBuddy reloads from the saved mapping. Normal post saves will use that mapping instead of guessing from table names.

Check the editor

Open a post after the mapping is saved. The category relation should appear in the post sidebar when the field is mapped and visible.

BaseBuddy editor with a mapped post open and post details in the sidebar
BaseBuddy editor with a mapped post open and post details in the sidebar

Change categories on one safe test post before editors rely on the setup. Click Save, then inspect the row or relation table in Supabase or your database client.

If your mapping usesGood result
Foreign keyOnly the mapped category foreign-key column changes.
Join tableOnly the mapped rows for that post are replaced or updated.
Array columnOnly the mapped category array changes.
JSON arrayOnly the mapped JSON category value changes.

Changing categories should not publish, unpublish, archive, rewrite content, or change unrelated fields.

Check the built-in Categories section

After categories are mapped, Categories is a supported BaseBuddy section in the project sidebar. It is not a custom page.

Open Categories from the project sidebar and confirm category rows load. Project owners, admins, and editors can manage categories when their role allows it. Lower-permission users may see read-only or unavailable controls depending on project permissions.

If your mapping includes writable category fields, test one low-risk change:

  1. Create or edit one category with a clear sample name.
  2. Save it.
  3. Confirm the mapped category table changed only in the expected columns.
  4. Reopen the post editor and confirm the category appears in the selector.

If your category source is limited or read-only, BaseBuddy may show existing categories for selection or display without allowing category row management.

Common issues

If Categories still shows Set up, return to Project Settings -> Content Mapping and check that Categories mapping is connected. Also confirm posts mapping is already saved.

If the wrong category appears on a post, check the relation path first: the post foreign key, join table source column, join table item column, array values, or JSON values may be pointing at the wrong stored value.

If category options do not load, check the mapped category ID and Name fields. BaseBuddy needs a stable ID and readable label to show useful selector options.

If the field is read-only or unsupported, do not force it editable just to remove the label. Fix the mapped write path, or keep the relation display-only until the storage shape is safe.