Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Productivity
  3. React Data Model Studio v 19.0
  4. Sales Conditions FAQ

React Data Model Studio

by Shachain https://shachain.dev
Odoo

$ 199.05

v 19.0 Third Party
Live Preview
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Community Apps Dependencies Show
• Odoo React AI
• Odoo React Bridge
• Odoo React Vis
• Odoo React ECharts
Lines of code 2356
Technical Name sc_react_data_model
LicenseOPL-1
Websitehttps://shachain.dev
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Community Apps Dependencies Show
• Odoo React AI
• Odoo React Bridge
• Odoo React Vis
• Odoo React ECharts
Lines of code 2356
Technical Name sc_react_data_model
LicenseOPL-1
Websitehttps://shachain.dev
  • Description
  • License
Shachain
Email Us
WhatsApp QRWhatsApp
Shachain
  • Overview
  • FAQs
  • Releases
Email Us
WhatsApp QRWhatsApp

Database IDE for Odoo

For Odoo developers, implementers, and data analysts — six workspaces over your live ORM in one app: an ERD explorer, a four-layer read-only SQL workbench, an ORM data inspector, a schema audit suite, a module dependency graph, and a schema diff with migration skeletons. No schema changes. No external tool. Everything stays inside Odoo's own ACLs and record rules.

Live Preview demo.shachain.dev
Login: demo · demo
Shachain
React-powered addons for Odoo

What it does

Studio-grade visibility into your data model without leaving Odoo. Read your schema as a diagram, query it safely in SQL, browse records through the ORM, audit who can see what, map module dependencies, and diff schema between environments — six tools that share one global search bar and write their entire state into the URL, so any view is a link you can paste.

Every link goes back to Odoo

This studio doesn't trap you in a side-app. Every model name, field name, module label, and audit row is a live link back to Odoo's native UI — open the form view, open the list view, jump into Odoo Studio, open the ir.model definition in Settings → Technical, or hand off to the Schema Audit, the Module Graph, or the module dependency graph. Right-click any table on the ERD canvas for the full ten-item handoff menu — Focus & zoom, Browse data, Open records, View ir.model definition, View ACL / Record rules / Reverse lineage in Schema Audit, View in module dependency graph, Hide table, Copy name.

ERD table right-click handoff menu with nine destinations into native Odoo UIs

ERD Explorer

A focus-mode entity-relationship diagram per module — the centre model plus its 1-hop neighbours, with high-degree hub tables hidden by default so the picture stays readable. Single-click any table to slide in a 380 px in-canvas inspector with two tabs: Fields (every column with type and relation target, each FK is itself a link to the related model) and Inheritance (the model's full inherit chain rendered as a tree or as a per-module list). Foreign-key edges are colour-coded: many2one blue, many2many purple, one2many green, _inherit gray, _inherits orange. Card positions are saved per module, and the whole canvas exports to PNG.

ERD Explorer with Fields tab showing 120 columns of sale.order including type and many2one relation targets
Inheritance tab tree view showing sale.order inherit chain across seven modules

Inheritance chain — tree view

Inheritance tab module list view showing every module that touches sale.order with class and added field counts

Inheritance chain — per-module list with field deltas

SQL Workbench

A Monaco editor with schema-aware autocomplete for your live database: format, run, page through a result table, and export to CSV or JSON. Save queries (private or shared) and replay any entry from your per-user history with one click. Every statement runs inside a read-only sandbox enforced by four independent layers (detailed below) — an analyst cannot mutate data even by accident. Your editor draft is persisted to IndexedDB, so it survives page reloads and workspace switches.

SQL Workbench Monaco editor with READ-ONLY SANDBOX badge, saved queries sidebar, history list, and tabular result panel

Data Inspector

Browse any ORM model through the standard search_read path — it never bypasses your ACLs or record rules, so users only ever see what they are allowed to. Pick the fields you want, build a domain visually with live validation, and page through results (50 / 100 / 200 at a time). The Open in native list button hands the current domain back to Odoo's standard list view; click any row's ID to jump straight to its form view. Every view is deep-linkable via the URL.

Data Inspector showing sale.order rows with model selector, column picker, domain criterion builder, pagination, and Open in native list handoff

Schema Audit

Four tabs that cross-reference the metadata nobody can quite hold in their head: ACL Matrix per module · Record Rules with their domain, groups, and CRUD flags · Lineage — the reverse map of views, window actions, reports, server actions, scheduled jobs, and inherits per model · Orphans — models without views, fields with no view reference, tables with no model, and multi-company models missing company_id. Rule rows, lineage entries, orphan rows, and permission cells in the audit grids open the source record in Odoo when you click them.

ACL Matrix tab: groups on columns, models on rows, RWCU permission combos per cell, filtered by Sales

ACL Matrix — permission combos per group / model

Record Rules tab listing global and group-scoped rules with their CRUD flags

Record Rules — per-model rules with groups and CRUD

Lineage tab showing reverse map of views, window actions, server actions, and inherits for sale.order

Lineage — every artefact that points at the model

Orphans tab listing models without views, tables without models, and multi-company models missing company_id

Orphans — models without views, tables without models, and more

Module Graph

The ir.module.module dependency graph rendered four ways — force, tree, radial, and circular layouts. Filter to applications only or fold in auto-install modules. Double-click any module to jump straight into its ERD, and the selection is recovered from the URL so a deep link lands you in context.

Module Graph showing ir.module.module dependency network with layout switcher (Tree, Force, Circular, Radial) and filter toggles

Schema Diff

Export the current schema (via Odoo introspection) to JSON, then upload any earlier snapshot to diff against it. The diff detects added, removed, type-changed, and renamed fields and models, with a tunable rename-confidence threshold. From the result it generates pre-migration.py and post-migration.py skeletons you can drop straight into your module.

Schema Diff workspace with Export current snapshot and Upload another snapshot buttons before any comparison runs

Across every workspace

Global search bar

The search bar at the top of every workspace covers five sources — tables, columns, modules, saved queries, and recent history — and jumps you straight to the right workspace with the right target selected. Hold Cmd / Ctrl while clicking a table to open its native Odoo records instead of the ERD.

Keyboard shortcuts

Press 1–6 to switch between the six workspaces. In the SQL Workbench, Ctrl + Enter (or Cmd + Enter on macOS) runs the current statement.

URL-as-state

Every panel writes its state into the URL — no router library, it consumes the native Odoo router service. Refresh, deep-link, paste into chat, browser back/forward: all of it works.

i18n

Ships in seven languages — English, 简体中文 (Simplified Chinese), Deutsch, Français, Español, Italiano, and Português (Brasil) — following each user's Odoo language, with Odoo's standard PO workflow for adding more.

SQL Workbench — four-layer read-only sandbox

The SQL Workbench is built for analysts, not DBAs. Write access is blocked by four independent server-side mechanisms:

  1. sqlglot AST whitelist — only SELECT, WITH, and UNION root expressions are accepted; anything else is rejected before execution.
  2. Keyword regex deny-list — a backup pass that catches dialect quirks sqlglot might miss (INSERT, UPDATE, DELETE, DROP, ALTER, TRUNCATE, COPY, GRANT, …).
  3. PostgreSQL SET LOCAL transaction_read_only = on — a database-level guarantee that the connection cannot mutate state for the rest of the transaction.
  4. Savepoint + unconditional rollback — the query runs inside a savepoint that is always rolled back, so even pathological side effects are undone.

Every SQL statement is recorded in the audit trail before the savepoint opens, so a forced rollback never erases history.

Roles & access

Four module-level groups (plus base Administration for full control), each extending the previous:

  • Data Model User — ERD Explorer, Data Inspector, Module Graph. No SQL Workbench.
  • Data Model Analyst — everything above, plus the sandboxed SQL Workbench.
  • Data Model Admin — everything above, plus Schema Audit (ACL / Rule / Lineage / Orphans) and Schema Diff.
  • Data Model AI User — reserved for the AI Assistant workspace (UI not shipped in this release).

Built on

  • odoo_react_bridge — React + Mantine + lucide micro-frontend for Odoo
  • odoo_react_vis — vis-network wrapper, shared so the ERD and Module Graph dedupe
  • sqlglot (Python, MIT) — multi-dialect SQL AST parser
  • Odoo ORM — search_read / fields_get / introspection, never bypassed
  • PostgreSQL — SET LOCAL transaction_read_only + savepoint guarantees

Requirements

  • Odoo 19 (this branch). Earlier Odoo branches are not shipped — the addon depends on the Odoo 19 group / privilege / ORM API.
  • Python package sqlglot on the Odoo server (declared in external_dependencies; pip install sqlglot).
  • A modern Chromium-based browser (Chrome / Edge / Brave) or the latest Firefox.
Frequently Asked Questions

Sometimes you need a quick answer to your question. You can get it right away here.

  • General
  • Setup
  • SQL Security
  • Roles
  • Languages

General

Does it change my database or models?
No. It reads your existing schema, records, and metadata through Odoo introspection and the ORM. It adds no fields to your models. The only data it stores is your saved SQL queries and per-user query history.
Does it work with Studio and custom modules?
Yes. Every workspace reads live metadata, so Studio fields, custom modules, and third-party apps all appear automatically — in the ERD, the Inspector, the audit tabs, and SQL autocomplete.

Setup

What do I need to install?
Odoo 19 and the Python package sqlglot on the server (pip install sqlglot). The addon's React dependencies ship pre-built, so no Node toolchain is required on the Odoo host.
Who can see the app after install?
Nobody by default — assign one of the four Data Model groups to a user and the menu appears with exactly the workspaces that group unlocks. See the Roles tab.

SQL Security

Can an analyst modify data through the SQL Workbench?
No. Four independent layers block writes: a sqlglot AST whitelist, a keyword regex deny-list, PostgreSQL SET LOCAL transaction_read_only = on, and a savepoint that is always rolled back. Even a query with hidden side effects is undone.
Does the Inspector bypass record rules?
Never. The Data Inspector goes through the standard ORM search_read, so a user sees only the records their ACLs and record rules allow — exactly as in any other Odoo view.

Roles

How do I give someone SQL access but not the audit tools?
Assign the Data Model Analyst group: it unlocks the SQL Workbench on top of the User workspaces, but Schema Audit and Schema Diff stay reserved for Data Model Admin.

Languages

Which languages are included?
Seven languages ship out of the box: English, 简体中文 (Simplified Chinese), Deutsch, Français, Español, Italiano, and Português (Brasil). The UI follows each user's Odoo language, and you can add more through Odoo's standard PO workflow.
Data Model Studio Releases

Every update brings new capabilities. Track the latest features and enhancements.

Initial Public Release
Release 2.0.1 (May 2026)
  • First public version, after several months of internal iteration against real Odoo schemas.
  • Bundles all six workspaces: ERD Explorer (with in-place table expand), four-layer read-only SQL Workbench, Data Inspector, Schema Audit (ACL / Rule / Lineage / Orphans), Module Graph, and Schema Diff with migration skeletons.
  • Global search bar, 1–6 keyboard shortcuts, URL-as-state deep links, and translations in seven languages across every workspace.
  • See the Overview tab for the complete capability list.

Try React Data Model Studio today

ERD · SQL Workbench · Inspector · Schema Audit · Module Graph · Schema Diff

Live Preview demo.shachain.dev
Email Us
WhatsApp QRWhatsApp

Demo login: demo · demo  |  Or email business@shachain.dev

OPL-1 (Odoo Proprietary License v1.0) — Copyright 2026 Shachain · shachain.dev

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with