Supported database

Oracle Database schema diagrams from migrations

Run your migrations on a real Oracle 21, 23 in Docker and get the resulting schema as an SVG. 11 migration tools can draw on Oracle.

Versions

Pass the version as the version field with databaseType=ORACLE. Each one is a stock image, started fresh for every drawing.

VersionImage
21gvenzl/oracle-xe:21-slim-faststart
23gvenzl/oracle-free:23-slim-faststart

What the diagram shows on Oracle

Oracle folds unquoted identifiers to upper case, so a table written as owners is drawn as OWNERS. Version 21 is Oracle XE, version 23 is Oracle Free.

The types are the names the engine's JDBC metadata reports, without lengths: an integer column reads NUMBER, a short text VARCHAR2, a calendar date DATE. Tables are read from the migration user's schema; the migration tool's own bookkeeping table is left out.

Migration tools that draw on Oracle

Not offered on Oracle

Most of these ship no Oracle driver.

  • golang-migrate
  • goose
  • dbmate
  • Atlas
  • Prisma Migrate
  • Laravel
  • ActiveRecord (Rails)
  • Drizzle ORM
  • Diesel
  • EF Core
  • MikroORM
petclinic on oracle 23
ER diagram of the PetClinic schema drawn by SchemaDrawer on Oracle Database 23

The PetClinic sample, drawn from Flyway migrations on Oracle Database 23. Open the SVG.

Run it

Draw on Oracle 23

The same request works for every tool; only migrationType and the files change.

curl -X POST https://schemadrawer.com/api/v1/drawing \
  -H "Request-Id: $(uuidgen)" \
  -F "userId=5f0c1d2e-3a4b-4c5d-8e6f-7a8b9c0d1e2f" \
  -F "migrationType=FLYWAY" \
  -F "databaseType=ORACLE" \
  -F "version=23" \
  -F "files=@db/migration/V1__create_owners_and_pets.sql" \
  -F "files=@db/migration/V2__create_vets.sql" \
  -F "files=@db/migration/V3__create_visits.sql"
# {"jobId":"0b6e2f4c-8d1a-4c3e-9f7a-2a5b6c7d8e9f"}
- uses: schemadrawercom/action@v1
  with:
    sql-directory: db/migration
    output-path: docs/schema-diagram.svg
    migration-type: FLYWAY
    database-type: ORACLE
    database-version: '23'
    github-token: ${{ secrets.GITHUB_TOKEN }}
From the blog

Reading about Oracle

Draw your Oracle schema now

Upload the migration directory, pick the version you deploy to, get an SVG back.