渐进式开发

每个框架都会有一些使用条件 和一些框架主张。 oneQL只想提供你一间空房子,只通水电网,或许还提供一张床,剩下的每个项目(房子)或许都有一些需要定制化的东西, 你可以在oneQL提供的简洁方案上 或者抛弃oneQL提供的默认选项,自主逐渐添加你认为项目的样子。

场景假设

例如你的项目需要用到了数据库,到底是用mysql, mongodb, mssql呢?

// Todo补全代码

Mysql

// config/config.${env}.js
mysql: {
    // 单数据库信息配置
    client: {
        // host
        host: 'mysql-dev.com',
        // 端口号
        port: '3306',
        // 用户名
        user: 'local_user',
        // 密码
        password: 'local_password',
        // 数据库名
        database: 'test',
    },
    // 是否加载到 app 上,默认开启
    app: true
}

调用方法

await app.mysql.query(${querystring})

又或者你们团队正准备重构一个旧项目,里面用到mssql, 也用到mysql, 这时候你可能会想到用Sequelize;又或者是一个全新的,没有历史包袱的项目,可能你会想体验prisma的简单、友好。

Sequelize

// config/config.${env}.js
sequelize: {
    dialect: 'mssql',
    // 数据库名
    database: 'test',
    // 用户名
    user: 'local_user',
    // 密码
    password: 'local_password',
    // host
    host: 'mysql-dev.com',
    // 端口号
    port: '3306',
    // 是否加载到 app 上,默认开启
    app: true
}

// 调用方法

class User extends Sequelize.Model {}
User.init({
  username: Sequelize.STRING,
  birthday: Sequelize.DATE
}, { sequelize });

sequelize.sync()
  .then(() => User.create({
    username: 'janedoe',
    birthday: new Date(1980, 6, 20)
  }))
  .then(jane => {
    console.log(jane.toJSON());
});

Todo prisma

results matching ""

    No results matching ""