{"id":43926,"library":"sql-mvc","title":"SQL-MVC","description":"SQL-MVC is a web application framework that replaces JavaScript with extended SQL (QUALE) for server-side logic, offering a paradigm inversion for building CRUD apps entirely in SQL. Currently at version 0.0.162 (alpha), it supports MySQL, MS-SQL, Firebird, Oracle, and NuoDB. Unlike traditional MVC frameworks, SQL-MVC uses SQL for models, controllers, and views, aiming to reduce boilerplate. However, the project is experimental with frequent breaking changes, sparse documentation, and minimal community feedback. Weekly downloads are modest, and the node compatibility has been problematic. It is not recommended for production.","status":"active","version":"0.0.162","language":"javascript","source_language":"en","source_url":"https://github.com/quale-quest/sql-mvc","tags":["javascript","sql","mvc","web","app","application","framework","platform","windows"],"install":[{"cmd":"npm install sql-mvc","lang":"bash","label":"npm"},{"cmd":"yarn add sql-mvc","lang":"bash","label":"yarn"},{"cmd":"pnpm add sql-mvc","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"MySQL driver","package":"mysql2","optional":true},{"reason":"MS-SQL driver","package":"mssql","optional":true},{"reason":"Firebird driver","package":"node-firebird","optional":true}],"imports":[{"note":"CommonJS only; no ESM support.","wrong":"import sqlmvc from 'sql-mvc'","symbol":"sql-mvc","correct":"const sqlmvc = require('sql-mvc')"},{"note":"The framework parses .sql files with embedded QUALE tags; .js files are not used for app logic.","wrong":"Using .js files for controllers or views","symbol":"QUALE (SQL extensions)","correct":"Directly write SQL files with .sql extension"},{"note":"All three layers are defined in the same .sql file using special tags.","wrong":"Placing model definitions in separate files per typical MVC convention","symbol":"Model/Controller/View tags","correct":"<#model>...</#> in .sql files"}],"quickstart":{"code":"// Install: npm install sql-mvc\n// Create app.sql:\n<#model\nCREATE TABLE tasks (\n  id VARCHAR(40) PRIMARY KEY,\n  title VARCHAR(100),\n  completed BOOLEAN DEFAULT FALSE\n);\n#>\n\n<#view\ntable()\n  SELECT id, title, completed\n  FROM tasks;\n#>\n\n// Run: node -e \"const sqlmvc = require('sql-mvc'); sqlmvc.run({port: 3000})\"\n// Then open http://localhost:3000","lang":"javascript","description":"Creates a simple tasks table and renders it as a table using SQL-MVC's view tag."},"warnings":[{"fix":"Use Node 8.x or lower; check changelog for driver updates.","message":"Node version updates often break the framework.","severity":"breaking","affected_versions":">=0.0.162"},{"fix":"Do not use in production; only for experimentation.","message":"ALPHA: Not production ready. Frequent breaking changes, undocumented behavior.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Follow Linux VPS install guide for modern setups.","message":"Cloud9 IDE install instructions are outdated.","severity":"deprecated","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'0.0.162':38 'aim':64 'alpha':39 'app':31,104 'applic':10,105 'boilerpl':67 'break':75 'build':29 'chang':76 'communiti':81 'compat':90 'control':61 'crud':30 'current':35 'document':78 'download':84 'entir':32 'experiment':72 'extend':16 'feedback':82 'firebird':46 'framework':11,53,106 'frequent':74 'howev':68 'invers':27 'javascript':14,100 'logic':23 'minim':80 'model':60 'modest':86 'ms':44 'ms-sql':43 'mvc':3,6,52,56,102 'mysql':42 'node':89 'nuodb':49 'offer':24 'oracl':47 'paradigm':26 'platform':107 'problemat':93 'product':99 'project':70 'qual':18 'recommend':97 'reduc':66 'replac':13 'server':21 'server-sid':20 'side':22 'spars':77 'sql':2,5,17,34,45,55,58,101 'sql-mvc':1,4,54 'support':41 'tradit':51 'unlik':50 'use':57 'version':37 'view':63 'web':9,103 'week':83 'window':108","created_at":"2026-06-05T17:02:08.345137+00:00","updated_at":"2026-06-05T17:02:08.345137+00:00","problems":[{"fix":"Run `npm install sql-mvc` in project directory.","cause":"Package not installed globally or local path not set.","error":"Error: Cannot find module 'sql-mvc'"},{"fix":"Run `npm install mysql2`.","cause":"MySQL driver not installed.","error":"Error: Cannot find module 'mysql2'"},{"fix":"Use a different port: `sqlmvc.run({port: 3001})`.","cause":"Port 3000 already in use.","error":"Error: listen EADDRINUSE :::3000"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/quale-quest/sql-mvc","github":"https://github.com/quale-quest/sql-mvc","docs":null,"changelog":null,"pypi":null,"npm":"sql-mvc","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}