带有 Sequelize 和 Typescript 的 NodeJS
NodeJS with Sequelize and Typescript
我希望能够从我的代码创建模型到 mysql 数据库。
问题是没有创建 tables..
我没有任何好的文档来使用 sequelize with typescript..
index.ts
import express from 'express';
import cors from "cors";
import helmet from "helmet";
import * as dotenv from "dotenv";
import { sequelize } from "./config/sequelize";
import routes from "./routes";
dotenv.config();
// Create a new express application instance
const app = express();
app.use(cors());
app.use(helmet());
app.use(express.json());
sequelize
.sync({ force: true })
.then(() => {
console.log("Connection has been established successfully.");
app.use("/api", routes);
app.listen(3000, () => {
console.log('Listening...') // OK
});
})
.catch(err => {
console.error("Unable to connect to the database:", err);
});
sequelize.ts
import { Sequelize } from 'sequelize-typescript';
export const sequelize = new Sequelize({
database: 'node',
dialect: 'mysql',
username: 'root',
password: '',
host: 'localhost',
models: ['../entities']
})
entities/users.ts
import { Table, Column, Model } from 'sequelize-typescript';
@Table
class Users extends Model {
@Column
name!: string;
@Column
age!: number;
@Column
breed!: string;
}
所以我的用户 table 没有被创建。我不明白为什么,与数据库的连接没问题。
感谢您的帮助!
Sequelize 不会为您创建 table。该模型“仅”是对用户实体执行 CRUD 操作的工具。
您需要手动创建 table 结构,或者最好使用 mysql-migrations.
等迁移工具
我希望能够从我的代码创建模型到 mysql 数据库。 问题是没有创建 tables.. 我没有任何好的文档来使用 sequelize with typescript..
index.ts
import express from 'express';
import cors from "cors";
import helmet from "helmet";
import * as dotenv from "dotenv";
import { sequelize } from "./config/sequelize";
import routes from "./routes";
dotenv.config();
// Create a new express application instance
const app = express();
app.use(cors());
app.use(helmet());
app.use(express.json());
sequelize
.sync({ force: true })
.then(() => {
console.log("Connection has been established successfully.");
app.use("/api", routes);
app.listen(3000, () => {
console.log('Listening...') // OK
});
})
.catch(err => {
console.error("Unable to connect to the database:", err);
});
sequelize.ts
import { Sequelize } from 'sequelize-typescript';
export const sequelize = new Sequelize({
database: 'node',
dialect: 'mysql',
username: 'root',
password: '',
host: 'localhost',
models: ['../entities']
})
entities/users.ts
import { Table, Column, Model } from 'sequelize-typescript';
@Table
class Users extends Model {
@Column
name!: string;
@Column
age!: number;
@Column
breed!: string;
}
所以我的用户 table 没有被创建。我不明白为什么,与数据库的连接没问题。 感谢您的帮助!
Sequelize 不会为您创建 table。该模型“仅”是对用户实体执行 CRUD 操作的工具。
您需要手动创建 table 结构,或者最好使用 mysql-migrations.
等迁移工具