Skip to content

Database & ORM

SnakeFlow auto-detects your ORM or migration tool from project dependencies and shows the relevant actions in the Database menu.

Auto-Detected Frameworks

LanguageDetected tools
Node.jsPrisma, Drizzle ORM, TypeORM, Knex
PythonAlembic/SQLAlchemy, Django ORM, Tortoise/aerich
Goent, goose, golang-migrate
RustDiesel, SeaORM, sqlx-cli
PHPLaravel Artisan, Doctrine Migrations
.NETEntity Framework Core (dotnet ef)
RubyRails ActiveRecord (rails db:*)
JavaFlyway, Liquibase (Maven & Gradle)

Custom Actions

Override auto-detection with a fully custom menu:

"devManager.database.actions": [
{ "label": "Prisma Studio", "command": "${exec} prisma studio", "icon": "database", "cwd": "${dir}" },
{ "label": "Generate Client", "command": "${exec} prisma generate", "icon": "zap", "cwd": "${dir}" },
{ "label": "Migrate Dev", "command": "${exec} prisma migrate dev", "icon": "arrow-up", "cwd": "${dir}" },
{ "label": "DB Reset", "command": "${exec} prisma migrate reset", "icon": "trash", "cwd": "${dir}", "dangerous": true }
]

Variable Substitution

VariableExpands to
${exec}Package manager executor: npx / pnpm exec / yarn / bunx
${name}Project name from settings
${dir}Absolute project root path

Action Fields

FieldDescription
labelMenu item text
commandShell command to run
iconVS Code codicon name (optional)
cwdWorking directory (default: project root)
dangerousIf true, shows a confirmation prompt before running

Django Example

"devManager.database.actions": [
{ "label": "Migrate", "command": "python manage.py migrate", "cwd": "${dir}/backend" },
{ "label": "Make Migrations", "command": "python manage.py makemigrations", "cwd": "${dir}/backend" },
{ "label": "DB Shell", "command": "python manage.py dbshell", "cwd": "${dir}/backend" }
]

Rails Example

"devManager.database.actions": [
{ "label": "Migrate", "command": "rails db:migrate" },
{ "label": "Rollback", "command": "rails db:rollback" },
{ "label": "Seed", "command": "rails db:seed" },
{ "label": "DB Drop", "command": "rails db:drop", "dangerous": true }
]