{"id":43239,"library":"mumba-microservice-sql","title":"Mumba Microservice SQL","description":"A Mumba Microservice module (v0.5.11) that provides SQL database support via Sequelize. It integrates with the Mumba DI container, expecting a 'config' object with a 'db' property for Sequelize options. Models are added to the 'dbModels' group. Includes migration support via Knex for MySQL. The package ships TypeScript definitions, targets Node >=6, and is specific to the Mumba microservice framework.","status":"active","version":"0.5.11","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","sequelize","sql","sqlite","microservice","database","typescript"],"install":[{"cmd":"npm install mumba-microservice-sql","lang":"bash","label":"npm"},{"cmd":"yarn add mumba-microservice-sql","lang":"bash","label":"yarn"},{"cmd":"pnpm add mumba-microservice-sql","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"ORM used for SQL database operations","package":"sequelize","optional":false},{"reason":"DI container integration for model registration","package":"dicontainer","optional":true},{"reason":"Used for database migrations","package":"knex","optional":true},{"reason":"Required for MySQL migrations","package":"mysql","optional":true}],"imports":[{"note":"Named export, not default. Requires a DI container with 'config' registered.","wrong":"import SqlDatabase from 'mumba-microservice-sql';","symbol":"SqlDatabase","correct":"import { SqlDatabase } from 'mumba-microservice-sql';"},{"note":"The db instance is not directly exported; it is registered in the DI container as 'db'.","wrong":"import { db } from 'mumba-microservice-sql';","symbol":"db","correct":"const db = container.get('db');"},{"note":"Models are retrieved from the container, not imported directly from the package.","wrong":"import { dbModels } from 'mumba-microservice-sql';","symbol":"dbModels","correct":"const models = container.get('dbModels');"}],"quickstart":{"code":"import { Container } from 'dicontainer';\nimport config from './config';\nimport { SqlDatabase } from 'mumba-microservice-sql';\n\nconst container = new Container();\ncontainer.object('config', () => config);\n\n// Register SQL database module\nconst sqlDb = new SqlDatabase(config);\ncontainer.instance('db', sqlDb);\n\n// Register a model\ncontainer.factory('fooModel', (c: any) => {\n  const db = c.get('db');\n  return db.sequelize.define('foo', { name: Sequelize.STRING });\n}, ['dbModels']);\n\n// Initialize\ncontainer.init();","lang":"typescript","description":"Shows instantiation of SqlDatabase with config and registration in a DI container, plus model registration."},"warnings":[{"fix":"Upgrade Node to version 6 or higher.","message":"Requires Node >=6, older Node versions are unsupported.","severity":"breaking","affected_versions":"all"},{"fix":"Use container.get('db') instead of importing directly.","message":"The 'db' instance is not directly exported; it must be retrieved from the DI container after the module is registered.","severity":"gotcha","affected_versions":"all"},{"fix":"Set a unique 'knex' property in the config's db section.","message":"Migration changelog table must be uniquely named when using a shared database; otherwise migrations conflict.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'6':55 'ad':36 'config':25 'contain':22 'databas':12,69 'db':29 'dbmodel':39 'definit':52 'di':21 'expect':23 'framework':63 'group':40 'includ':41 'integr':17 'javascript':64 'knex':45 'microservic':2,6,62,68 'migrat':42 'model':34 'modul':7 'mumba':1,5,20,61 'mysql':47 'node':54 'object':26 'option':33 'packag':49 'properti':30 'provid':10 'sequel':15,32,65 'ship':50 'specif':58 'sql':3,11,66 'sqlite':67 'support':13,43 'target':53 'typescript':51,70 'v0.5.11':8 'via':14,44","created_at":"2026-06-05T16:58:50.745893+00:00","updated_at":"2026-06-05T16:58:50.745893+00:00","problems":[{"fix":"Run npm install mumba-microservice-sql --save","cause":"Package not installed.","error":"Cannot find module 'mumba-microservice-sql'"},{"fix":"Install sequelize: npm install sequelize","cause":"Missing Sequelize peer dependency.","error":"Sequelize is not defined"},{"fix":"Add 'knex?: string' to your Config type definition.","cause":"TypeScript config type missing knex property for migrations.","error":"Property 'knex' does not exist on type 'Config'"}],"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://gitlab.com/Mumba-Source/odyssey-microservice-router#readme","github":null,"docs":null,"changelog":null,"pypi":null,"npm":"mumba-microservice-sql","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}}