surrealkit

Crates.iosurrealkit
lib.rssurrealkit
version0.1.8
created_at2025-09-19 22:11:14.426781+00
updated_at2025-12-06 10:07:28.897695+00
descriptionManage migrations, seeding and tests for your SurrealDB via CLI
homepage
repositoryhttps://github.com/ForetagInc/surrealkit
max_upload_size
id1847175
size133,399
Chiru B (itsezc)

documentation

README

SurrealKit

Crates.io Documentation License

NOT FOR PRODUCTION USE | For SurrealDB v3

Manage SurrealDB migrations, seeding, and testing with ease. Inspired by Eloquent ORM's migration pattern.

Scope

This project is designed to manage SurrealDB migrations, seed, testing, and database management. It is not intended for production use and is specifically tailored for SurrealDB version 3.

If and when SurrealDB implements first-class tooling to manage migrations, seeding, and testing, SurrealKit will be deprecated in favour of the official SurrealDB tooling but intends to provide seamless transition.

Usage

Install via Cargo:

cargo install surrealkit

Initialise a new project:

surrealkit init

This creates a directory /database with the necessary scaffolding

The following ENV variables will be picked up for your .env file, SurrealKit assumes you're using SurrealDB as a Web Database.

  • PUBLIC_DATABASE_HOST
  • PUBLIC_DATABASE_NAMESPACE
  • PUBLIC_DATABASE_DATABASE
  • DATABASE_USERNAME
  • DATABASE_PASSWORD

A table (_migration) is generated and managed by SurrealKit on your configured database.

Seeding

Seeding will automatically run when you apply migrations. If you would like to reapply migrations, please re-apply your migrations.

surrealkit seed
Commit count: 12

cargo fmt