Progressing
This commit is contained in:
parent
da73d0cf42
commit
16ceff2f15
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1,3 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
|
*.sqlite
|
||||||
|
|
||||||
|
|||||||
3
.vscode/launch.json
vendored
3
.vscode/launch.json
vendored
@ -11,7 +11,8 @@
|
|||||||
"skipFiles": [
|
"skipFiles": [
|
||||||
"<node_internals>/**"
|
"<node_internals>/**"
|
||||||
],
|
],
|
||||||
"program": "${workspaceFolder}/server.js"
|
"program": "${workspaceFolder}/server.js",
|
||||||
|
"cwd": "${workspaceFolder}",
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
8
db.js
Normal file
8
db.js
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import { Sequelize } from "sequelize";
|
||||||
|
|
||||||
|
const sequelize = new Sequelize({
|
||||||
|
dialect: "sqlite",
|
||||||
|
storage: "./db.sqlite"
|
||||||
|
});
|
||||||
|
|
||||||
|
export default sequelize;
|
||||||
1674
package-lock.json
generated
1674
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -9,7 +9,10 @@
|
|||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"description": "",
|
"description": "",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fastify": "^5.1.0"
|
"fastify": "^5.1.0",
|
||||||
|
"fastify-plugin": "^5.0.1",
|
||||||
|
"sequelize": "^6.37.5",
|
||||||
|
"sqlite3": "^5.1.7"
|
||||||
},
|
},
|
||||||
"type": "module"
|
"type": "module"
|
||||||
}
|
}
|
||||||
|
|||||||
18
plugins/sequelize.js
Normal file
18
plugins/sequelize.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import fp from "fastify-plugin";
|
||||||
|
import sequelize from "../db.js";
|
||||||
|
|
||||||
|
async function sequelizePlugin(fastify, opts) {
|
||||||
|
try {
|
||||||
|
await sequelize.authenticate();
|
||||||
|
console.log('Database connection established successfully.');
|
||||||
|
fastify.decorate('sequelize', sequelize);
|
||||||
|
fastify.addHook('onClose', async (fastifyInstance) => {
|
||||||
|
await fastifyInstance.sequelize.close();
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
fastify.log.error(err)
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default fp(sequelizePlugin);
|
||||||
@ -1,8 +1,11 @@
|
|||||||
import Fastify from "fastify";
|
import Fastify from "fastify";
|
||||||
|
import sequelizePlugin from "./plugins/sequelize.js";
|
||||||
|
|
||||||
const server = Fastify({ logger: true });
|
const server = Fastify({ logger: true });
|
||||||
|
server.register(sequelizePlugin);
|
||||||
|
|
||||||
server.get("/", async (request, reply) => {
|
server.get("/", async (request, reply) => {
|
||||||
|
const [results, metadata] = await server.sequelize.query('SELECT 1 + 1 AS result');
|
||||||
return { hello: "world" };
|
return { hello: "world" };
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -11,4 +14,4 @@ try {
|
|||||||
} catch (err) {
|
} catch (err) {
|
||||||
server.log.error(err)
|
server.log.error(err)
|
||||||
process.exit(1)
|
process.exit(1)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user