{"id":15801180,"url":"https://github.com/char0n/hapijs-sequelize-dal","last_synced_at":"2026-04-18T19:33:32.446Z","repository":{"id":136893955,"uuid":"80456128","full_name":"char0n/hapijs-sequelize-dal","owner":"char0n","description":"Prototype of Data Access Layer using sequelizejs (with Hapi.js plugins)","archived":false,"fork":false,"pushed_at":"2017-02-08T10:13:25.000Z","size":11,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-02T19:44:59.410Z","etag":null,"topics":["dal","database","hapi","javascript","mapper","sequelizejs","sql"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/char0n.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-01-30T19:40:47.000Z","updated_at":"2017-01-31T00:01:49.000Z","dependencies_parsed_at":"2023-04-14T01:30:57.601Z","dependency_job_id":null,"html_url":"https://github.com/char0n/hapijs-sequelize-dal","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/char0n/hapijs-sequelize-dal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/char0n%2Fhapijs-sequelize-dal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/char0n%2Fhapijs-sequelize-dal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/char0n%2Fhapijs-sequelize-dal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/char0n%2Fhapijs-sequelize-dal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/char0n","download_url":"https://codeload.github.com/char0n/hapijs-sequelize-dal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/char0n%2Fhapijs-sequelize-dal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31982743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T17:30:12.329Z","status":"ssl_error","status_checked_at":"2026-04-18T17:29:59.069Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dal","database","hapi","javascript","mapper","sequelizejs","sql"],"created_at":"2024-10-05T01:21:03.789Z","updated_at":"2026-04-18T19:33:32.403Z","avatar_url":"https://github.com/char0n.png","language":"JavaScript","readme":"# hapijs-sequelize-dal\n\nPrototype of **D**ata **A**ccess **L**ayer using sequelizejs (with Hapi.js plugins)\n\n## Requirements\n\nInstall PostgreSQL server. All raw queries are hardcoded into source code and all *.sql files in `postgres` dialect.\n\n## Installation\n\n```sh\n$ npm install\n```\n\n## Configuration\n\nEdit file `dsn.json` and provide of details for successfully connecting to your database.\n\n## Initial syncing\n\nThis DAL implementation contains script that synchronizes all sql files in `dal/sql/tables` directory.\nThe idea is that in this directory you keep all your tables definitions in actual state. \nWhen running `syncdb` task, all sql statements in these files are executed against the database defined in `dsn.json`. \n\nSince sequelize migrations doesn't provide us with mechanism for faking migrations the final part of `syncdb`\nprocess is **faking** the application of all the migrations. The reason why we do that is that we don't\nwant to apply any migrations in a pristine up-to-date database in new project installations.\n\n```sh\n$ npm run syncdb\n```\n\n## Running migrations\n \nWe run migrations only on project instances that got updated or redeployed. Migrations are introducing\nprogressive structural enhancements on your schema or migrate data in your tables. You usually want to run\nmigrations before your projects backend starts.\n\n```sh\n$ npm run migrate\n```\n\nIn order to be sure your project is running on up-to-date schema, run migrations before your server starts.\n\n```sh\n$ npm run migrate \u0026\u0026 node index.js\n``` \n \n## Running examples\n \nAll examples of using this DAL are provided in `index.js` file located at the root of this repository.\nFeel free to prototype your own examples and use-cases in this file and if you feel like it, provide a pull request.\nYou can run this file by two commands:\n \n```sh\n$ node index.js\n```\nor\n```sh\n$ npm run test\n```\n\n### Credits\n\nCredits to @kkristal for finalizing this dal design.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchar0n%2Fhapijs-sequelize-dal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchar0n%2Fhapijs-sequelize-dal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchar0n%2Fhapijs-sequelize-dal/lists"}