| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- const Sequelize = require('sequelize');
- const path = require('path')
- const sequelize = new Sequelize({
- dialect: 'sqlite',
- storage: path.resolve('/Users/drew/Library/Application Support/Electron', 'db', 'application.db')
- });
- const Model = Sequelize.Model;
- class Order extends Model { }
- Order.init({
- orderId: {
- type: Sequelize.INTEGER,
- allowNull: false,
- unique: true
- },
- path: {
- type: Sequelize.STRING,
- allowNull: false
- },
- name: {
- type: Sequelize.STRING,
- allowNull: false
- }
- }, { sequelize })
- class SubOrder extends Model { }
- SubOrder.init({
- orderId: {
- type: Sequelize.INTEGER,
- allowNull: false
- },
- parentId: {
- type: Sequelize.INTEGER,
- allowNull: false
- },
- path: {
- type: Sequelize.STRING,
- allowNull: false
- },
- name: {
- type: Sequelize.STRING,
- allowNull: false
- }
- }, { sequelize })
- class File extends Model { }
- File.init({
- orderId: {
- type: Sequelize.INTEGER,
- allowNull: false
- },
- subOrderId: {
- type: Sequelize.INTEGER,
- allowNull: false
- },
- src: {
- type: Sequelize.STRING,
- allowNull: false
- },
- dst: {
- type: Sequelize.STRING,
- allowNull: false
- },
- size: {
- type: Sequelize.BIGINT(19),
- defaultValue: 0,
- },
- uploaded: {
- type: Sequelize.BIGINT(19),
- defaultValue: 0,
- },
- progress: {
- type: Sequelize.DOUBLE,
- defaultValue: 0,
- },
- checkPoint: Sequelize.TEXT,
- status: {
- type: Sequelize.INTEGER,
- defaultValue: 0,
- }
- }, { sequelize })
- async function t() {
- // for (let i = 0; i < 10; i++) {
- // await sequelize.sync()
- // let res = (await File.create({
- // orderId: 1,
- // subOrderId: 2,
- // src: '123',
- // dst: '345', size: 100000000000,
- // progress: 0.01
- // })).get()
- // console.log(res)
- // await File.update({ uploaded: parseInt(Math.random() * 10000) }, {
- // where: {
- // id: res.id
- // }
- // })
- // }
- let res = (await sequelize
- .query('SELECT * FROM Orders WHERE orderId IN (SELECT orderId FROM Files WHERE status != 4 GROUP BY orderId)', {
- model: Order,
- mapToModel: true
- })).map(i => i.get())
- console.log(res)
- }
- t()
|