Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | import {adapter} from '@feasibleone/blong'; import {dirname, join} from 'node:path'; import {fileURLToPath} from 'node:url'; const __dirname = dirname(fileURLToPath(import.meta.url)); export default adapter<{ knex: { connection: { database: string; user: string; password: string; }; }; }>(({schema}) => ({ extends: 'adapter.knex', activation: { default: { knex: { connection: { database: 'blong-integration', user: 'blong-test', password: 'password', }, }, namespace: 'sql', // `/\.db$/` attaches the core realm's schema config so the // `core_resource` / `core_type` / `core_triple` tables sync, letting // the adapter tests exercise the resource-backed + graph-edge CRUD. imports: [/\.sql$/, /\.db$/], schema: { sync: true, seed: true, dropColumns: true, tables: { sql_item: { definition: schema.mysql.item, order: 1, }, // Resource-backed entity — PK is FK → core.resource, display // name lives in core_resource.resourceName (virtual // `${object}Name`). Generic add generates the PK + resource, // find/get join the name, edit renames, remove cascades. 'sql.person': { definition: schema.mysql.person, order: 11, resource: true, }, // Resource-backed entity with a `hasMember` graph edge → // person: get attaches members, add/edit sync the edges, // remove cleans them. 'sql.team': { definition: schema.mysql.team, order: 12, resource: true, edges: [ { predicate: 'hasMember', table: 'sql_person', object: 'person', objectKey: 'personId', nameField: 'personName', granted: true, }, ], }, // `type.ulid()` / `type.uuid()` PKs — the generic add // generates the key server-side from the default marker. 'sql.ulid': { definition: schema.mysql.ulidItem, order: 13, }, 'sql.uuid': { definition: schema.mysql.uuidItem, order: 14, }, }, // The generic graph-edge sync calls `access_pathRefresh()`; a // no-op keeps the edge wiring testable without the full RBAC // realm (the real rebuild is covered by blong-access). procedures: { access_pathRefresh: 'CREATE PROCEDURE access_pathRefresh() BEGIN SET @blong_pfr = 1; END', }, procedurePaths: [join(__dirname, 'sql/schema')], }, }, }, })); |