create-skweb 3.3.2 → 3.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,17 +1,17 @@
1
1
 
2
- > create-skweb@3.3.2 prebuild
2
+ > create-skweb@3.3.4 prebuild
3
3
  > tsc --outDir dist --rootDir src
4
4
 
5
5
  ⠙
6
- > create-skweb@3.3.2 build
6
+ > create-skweb@3.3.4 build
7
7
  > rollup -c rollup.config.mjs && node scripts/inject-shebang.mjs && chmod +x dist/cli.js
8
8
 
9
9
  ⠙
10
10
  src/index.ts → dist/index.js...
11
11
  (!) [plugin typescript] @rollup/plugin-typescript: outputToFilesystem option is defaulting to true.
12
- created dist/index.js in 354ms
12
+ created dist/index.js in 374ms
13
13
  
14
14
  src/cli.ts → dist/cli.js...
15
- created dist/cli.js in 183ms
15
+ created dist/cli.js in 179ms
16
16
  [inject-shebang] Shebang added to /Users/stayknight/projects/skweb-mono/tools/create-skweb/dist/cli.js
17
17
  ⠙
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # create-skweb
2
2
 
3
+ ## 3.3.4
4
+
5
+ ### Patch Changes
6
+
7
+ - chore(create-skweb): v3.3.4 - 模型改为 initModel 格式,移除 declare 声明,修复 SysUser 导入方式
8
+
9
+ ## 3.3.3
10
+
11
+ ### Patch Changes
12
+
13
+ - chore(create-skweb): v3.3.3 - 抽取共享配置模块,统一数据库和 Redis 连接配置
14
+
3
15
  ## 3.3.2
4
16
 
5
17
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-skweb",
3
- "version": "3.3.2",
3
+ "version": "3.3.4",
4
4
  "description": "Create a new SKWeb project with TypeScript, CJS, or MJS support",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3,18 +3,13 @@ require('dotenv/config')
3
3
  const path = require('path')
4
4
  const { Database } = require('skweb-sequelize')
5
5
  const { logger } = require('../utils/logger.js')
6
+ const { getDatabaseConfig } = require('../config/database.js')
6
7
 
7
8
  async function runMigrate() {
8
9
  logger.info('[migrate] Running database migrations...')
9
10
 
10
11
  const db = new Database({
11
- host: process.env.DB_HOST || '127.0.0.1',
12
- port: Number(process.env.DB_PORT) || 3306,
13
- username: process.env.DB_USER || 'root',
14
- password: process.env.DB_PASS || '',
15
- database: process.env.DB_NAME || 'test-project',
16
- dialect: process.env.DB_DIALECT || 'mysql',
17
- charset: process.env.DB_CHARSET || 'utf8mb4',
12
+ ...getDatabaseConfig(),
18
13
  logging: process.env.DEBUG_DB === 'true' ? (msg) => logger.debug(msg) : false
19
14
  })
20
15
 
@@ -31,4 +26,4 @@ if (require.main === module) {
31
26
  })
32
27
  }
33
28
 
34
- module.exports = { runMigrate }
29
+ module.exports = { runMigrate }
@@ -4,18 +4,13 @@ const path = require('path')
4
4
  const fs = require('fs')
5
5
  const { Database } = require('skweb-sequelize')
6
6
  const { logger } = require('../utils/logger.js')
7
+ const { getDatabaseConfig } = require('../config/database.js')
7
8
 
8
9
  async function runSeed() {
9
10
  logger.info('[seed] Initializing database with seed data...')
10
11
 
11
12
  const db = new Database({
12
- host: process.env.DB_HOST || '127.0.0.1',
13
- port: Number(process.env.DB_PORT) || 3306,
14
- username: process.env.DB_USER || 'root',
15
- password: process.env.DB_PASS || '',
16
- database: process.env.DB_NAME || 'test-project',
17
- dialect: process.env.DB_DIALECT || 'mysql',
18
- charset: process.env.DB_CHARSET || 'utf8mb4',
13
+ ...getDatabaseConfig(),
19
14
  logging: process.env.DEBUG_DB === 'true' ? (msg) => logger.debug(msg) : false
20
15
  })
21
16
 
@@ -0,0 +1,13 @@
1
+ function getDatabaseConfig() {
2
+ return {
3
+ host: process.env.DB_HOST || '127.0.0.1',
4
+ port: Number(process.env.DB_PORT) || 3306,
5
+ username: process.env.DB_USER || 'root',
6
+ password: process.env.DB_PASS || '',
7
+ database: process.env.DB_NAME || 'test-project',
8
+ dialect: process.env.DB_DIALECT || 'mysql',
9
+ charset: process.env.DB_CHARSET || 'utf8mb4'
10
+ }
11
+ }
12
+
13
+ module.exports = { getDatabaseConfig }
@@ -0,0 +1,9 @@
1
+ function getRedisConfig() {
2
+ return {
3
+ host: process.env.REDIS_HOST || '127.0.0.1',
4
+ port: Number(process.env.REDIS_PORT) || 6379,
5
+ password: process.env.REDIS_PASSWORD || undefined
6
+ }
7
+ }
8
+
9
+ module.exports = { getRedisConfig }
@@ -1,7 +1,5 @@
1
1
  const createHttpError = require('http-errors')
2
- const { framework } = require('../web-framework.js')
3
-
4
- const { SysUser } = framework.models
2
+ const { SysUser } = require('../models/SysUser.js')
5
3
 
6
4
  /**
7
5
  * @swagger
@@ -1,23 +1,15 @@
1
1
  // @ts-nocheck
2
2
  const { CronFramework } = require('skweb-framework')
3
3
  const { logger } = require('./utils/logger.js')
4
+ const { getDatabaseConfig } = require('./config/database.js')
5
+ const { getRedisConfig } = require('./config/redis.js')
4
6
 
5
7
  const framework = new CronFramework({
6
8
  db: {
7
- host: process.env.DB_HOST || '127.0.0.1',
8
- port: Number(process.env.DB_PORT) || 3306,
9
- username: process.env.DB_USER || 'root',
10
- password: process.env.DB_PASS || '',
11
- database: process.env.DB_NAME || 'test-project',
12
- dialect: process.env.DB_DIALECT || 'mysql',
13
- charset: process.env.DB_CHARSET || 'utf8mb4',
9
+ ...getDatabaseConfig(),
14
10
  logging: process.env.DEBUG_DB === 'true'
15
11
  },
16
- redis: {
17
- host: process.env.REDIS_HOST || '127.0.0.1',
18
- port: Number(process.env.REDIS_PORT) || 6379,
19
- password: process.env.REDIS_PASSWORD || undefined
20
- },
12
+ redis: getRedisConfig(),
21
13
  channel: 'cron:task:cmd',
22
14
  logger,
23
15
  onSaveTask: async (taskData) => {
@@ -40,4 +32,4 @@ const framework = new CronFramework({
40
32
  }
41
33
  })
42
34
 
43
- module.exports = { framework }
35
+ module.exports = { framework }
@@ -1,38 +1,42 @@
1
1
  const { Model, DataTypes } = require('sequelize')
2
2
 
3
- module.exports = (sequelize) => {
4
- class SysUser extends Model {}
5
- SysUser.init({
6
- id: {
7
- type: DataTypes.INTEGER,
8
- primaryKey: true,
9
- autoIncrement: true
10
- },
11
- username: {
12
- type: DataTypes.STRING(50),
13
- allowNull: false,
14
- unique: true
15
- },
16
- password: {
17
- type: DataTypes.STRING(255),
18
- allowNull: false
19
- },
20
- email: {
21
- type: DataTypes.STRING(100)
22
- },
23
- phone: {
24
- type: DataTypes.STRING(20)
25
- },
26
- status: {
27
- type: DataTypes.TINYINT,
28
- defaultValue: 1
29
- }
30
- }, {
31
- sequelize,
32
- modelName: 'SysUser',
33
- tableName: 'sys_users',
34
- timestamps: true,
35
- underscored: true
36
- })
37
- return SysUser
3
+ class SysUser extends Model {
4
+ static initModel(sequelize) {
5
+ SysUser.init({
6
+ id: {
7
+ type: DataTypes.INTEGER,
8
+ primaryKey: true,
9
+ autoIncrement: true
10
+ },
11
+ username: {
12
+ type: DataTypes.STRING(50),
13
+ allowNull: false,
14
+ unique: true
15
+ },
16
+ password: {
17
+ type: DataTypes.STRING(255),
18
+ allowNull: false
19
+ },
20
+ email: {
21
+ type: DataTypes.STRING(100)
22
+ },
23
+ phone: {
24
+ type: DataTypes.STRING(20)
25
+ },
26
+ status: {
27
+ type: DataTypes.TINYINT,
28
+ defaultValue: 1
29
+ }
30
+ }, {
31
+ sequelize,
32
+ modelName: 'SysUser',
33
+ tableName: 'sys_users',
34
+ timestamps: true,
35
+ underscored: true
36
+ })
37
+
38
+ return SysUser
39
+ }
38
40
  }
41
+
42
+ module.exports = { SysUser }
@@ -1,22 +1,14 @@
1
1
  // @ts-nocheck
2
2
  const { WebFramework } = require('skweb-framework')
3
+ const { getDatabaseConfig } = require('./config/database.js')
4
+ const { getRedisConfig } = require('./config/redis.js')
3
5
 
4
6
  const framework = new WebFramework({
5
7
  db: {
6
- host: process.env.DB_HOST || '127.0.0.1',
7
- port: Number(process.env.DB_PORT) || 3306,
8
- username: process.env.DB_USER || 'root',
9
- password: process.env.DB_PASS || '',
10
- database: process.env.DB_NAME || 'test-project',
11
- dialect: process.env.DB_DIALECT || 'mysql',
12
- charset: process.env.DB_CHARSET || 'utf8mb4',
8
+ ...getDatabaseConfig(),
13
9
  logging: process.env.DEBUG_DB === 'true'
14
10
  },
15
- redis: {
16
- host: process.env.REDIS_HOST || '127.0.0.1',
17
- port: Number(process.env.REDIS_PORT) || 6379,
18
- password: process.env.REDIS_PASSWORD || undefined
19
- }
11
+ redis: getRedisConfig()
20
12
  })
21
13
 
22
- module.exports = { framework }
14
+ module.exports = { framework }
@@ -4,6 +4,7 @@ import path from 'path'
4
4
  import { fileURLToPath } from 'url'
5
5
  import { Database } from 'skweb-sequelize'
6
6
  import logger from '../utils/logger.js'
7
+ import { getDatabaseConfig } from '../config/database.js'
7
8
 
8
9
  const __filename = fileURLToPath(import.meta.url)
9
10
  const __dirname = path.dirname(__filename)
@@ -12,13 +13,7 @@ async function runMigrate() {
12
13
  logger.info('[migrate] Running database migrations...')
13
14
 
14
15
  const db = new Database({
15
- host: process.env.DB_HOST || '127.0.0.1',
16
- port: Number(process.env.DB_PORT) || 3306,
17
- username: process.env.DB_USER || 'root',
18
- password: process.env.DB_PASS || '',
19
- database: process.env.DB_NAME || 'test-project',
20
- dialect: process.env.DB_DIALECT || 'mysql',
21
- charset: process.env.DB_CHARSET || 'utf8mb4',
16
+ ...getDatabaseConfig(),
22
17
  logging: process.env.DEBUG_DB === 'true' ? (msg) => logger.debug(msg) : false
23
18
  })
24
19
 
@@ -34,4 +29,4 @@ if (isMainModule) {
34
29
  logger.error('[migrate] Fatal error:', err)
35
30
  process.exit(1)
36
31
  })
37
- }
32
+ }
@@ -4,6 +4,7 @@ import path from 'path'
4
4
  import { fileURLToPath } from 'url'
5
5
  import { Database } from 'skweb-sequelize'
6
6
  import logger from '../utils/logger.js'
7
+ import { getDatabaseConfig } from '../config/database.js'
7
8
 
8
9
  const __filename = fileURLToPath(import.meta.url)
9
10
  const __dirname = path.dirname(__filename)
@@ -12,13 +13,7 @@ async function runSeed() {
12
13
  logger.info('[seed] Initializing database with seed data...')
13
14
 
14
15
  const db = new Database({
15
- host: process.env.DB_HOST || '127.0.0.1',
16
- port: Number(process.env.DB_PORT) || 3306,
17
- username: process.env.DB_USER || 'root',
18
- password: process.env.DB_PASS || '',
19
- database: process.env.DB_NAME || 'test-project',
20
- dialect: process.env.DB_DIALECT || 'mysql',
21
- charset: process.env.DB_CHARSET || 'utf8mb4',
16
+ ...getDatabaseConfig(),
22
17
  logging: process.env.DEBUG_DB === 'true' ? (msg) => logger.debug(msg) : false
23
18
  })
24
19
 
@@ -0,0 +1,11 @@
1
+ export function getDatabaseConfig() {
2
+ return {
3
+ host: process.env.DB_HOST || '127.0.0.1',
4
+ port: Number(process.env.DB_PORT) || 3306,
5
+ username: process.env.DB_USER || 'root',
6
+ password: process.env.DB_PASS || '',
7
+ database: process.env.DB_NAME || 'test-project',
8
+ dialect: process.env.DB_DIALECT || 'mysql',
9
+ charset: process.env.DB_CHARSET || 'utf8mb4'
10
+ }
11
+ }
@@ -0,0 +1,7 @@
1
+ export function getRedisConfig() {
2
+ return {
3
+ host: process.env.REDIS_HOST || '127.0.0.1',
4
+ port: Number(process.env.REDIS_PORT) || 6379,
5
+ password: process.env.REDIS_PASSWORD || undefined
6
+ }
7
+ }
@@ -1,7 +1,5 @@
1
1
  import createHttpError from 'http-errors'
2
- import { framework } from '../web-framework.js'
3
-
4
- const { SysUser } = framework.models
2
+ import { SysUser } from '../models/SysUser.js'
5
3
 
6
4
  /**
7
5
  * @swagger
@@ -1,23 +1,15 @@
1
1
  // @ts-nocheck
2
2
  import { CronFramework } from 'skweb-framework'
3
3
  import logger from './utils/logger.js'
4
+ import { getDatabaseConfig } from './config/database.js'
5
+ import { getRedisConfig } from './config/redis.js'
4
6
 
5
7
  const framework = new CronFramework({
6
8
  db: {
7
- host: process.env.DB_HOST || '127.0.0.1',
8
- port: Number(process.env.DB_PORT) || 3306,
9
- username: process.env.DB_USER || 'root',
10
- password: process.env.DB_PASS || '',
11
- database: process.env.DB_NAME || 'test-project',
12
- dialect: process.env.DB_DIALECT || 'mysql',
13
- charset: process.env.DB_CHARSET || 'utf8mb4',
9
+ ...getDatabaseConfig(),
14
10
  logging: process.env.DEBUG_DB === 'true'
15
11
  },
16
- redis: {
17
- host: process.env.REDIS_HOST || '127.0.0.1',
18
- port: Number(process.env.REDIS_PORT) || 6379,
19
- password: process.env.REDIS_PASSWORD || undefined
20
- },
12
+ redis: getRedisConfig(),
21
13
  channel: 'cron:task:cmd',
22
14
  logger,
23
15
  onSaveTask: async (taskData) => {
@@ -40,4 +32,4 @@ const framework = new CronFramework({
40
32
  }
41
33
  })
42
34
 
43
- export { framework }
35
+ export { framework }
@@ -1,40 +1,40 @@
1
1
  import { Model, DataTypes } from 'sequelize'
2
2
 
3
- export default (sequelize) => {
4
- class SysUser extends Model {}
3
+ export class SysUser extends Model {
4
+ static initModel(sequelize) {
5
+ SysUser.init({
6
+ id: {
7
+ type: DataTypes.INTEGER,
8
+ primaryKey: true,
9
+ autoIncrement: true
10
+ },
11
+ username: {
12
+ type: DataTypes.STRING(50),
13
+ allowNull: false,
14
+ unique: true
15
+ },
16
+ password: {
17
+ type: DataTypes.STRING(255),
18
+ allowNull: false
19
+ },
20
+ email: {
21
+ type: DataTypes.STRING(100)
22
+ },
23
+ phone: {
24
+ type: DataTypes.STRING(20)
25
+ },
26
+ status: {
27
+ type: DataTypes.TINYINT,
28
+ defaultValue: 1
29
+ }
30
+ }, {
31
+ sequelize,
32
+ modelName: 'SysUser',
33
+ tableName: 'sys_users',
34
+ timestamps: true,
35
+ underscored: true
36
+ })
5
37
 
6
- SysUser.init({
7
- id: {
8
- type: DataTypes.INTEGER,
9
- primaryKey: true,
10
- autoIncrement: true
11
- },
12
- username: {
13
- type: DataTypes.STRING(50),
14
- allowNull: false,
15
- unique: true
16
- },
17
- password: {
18
- type: DataTypes.STRING(255),
19
- allowNull: false
20
- },
21
- email: {
22
- type: DataTypes.STRING(100)
23
- },
24
- phone: {
25
- type: DataTypes.STRING(20)
26
- },
27
- status: {
28
- type: DataTypes.TINYINT,
29
- defaultValue: 1
30
- }
31
- }, {
32
- sequelize,
33
- modelName: 'SysUser',
34
- tableName: 'sys_users',
35
- timestamps: true,
36
- underscored: true
37
- })
38
-
39
- return SysUser
40
- }
38
+ return SysUser
39
+ }
40
+ }
@@ -1,22 +1,14 @@
1
1
  // @ts-nocheck
2
2
  import { WebFramework } from 'skweb-framework'
3
+ import { getDatabaseConfig } from './config/database.js'
4
+ import { getRedisConfig } from './config/redis.js'
3
5
 
4
6
  const framework = new WebFramework({
5
7
  db: {
6
- host: process.env.DB_HOST || '127.0.0.1',
7
- port: Number(process.env.DB_PORT) || 3306,
8
- username: process.env.DB_USER || 'root',
9
- password: process.env.DB_PASS || '',
10
- database: process.env.DB_NAME || 'test-project',
11
- dialect: process.env.DB_DIALECT || 'mysql',
12
- charset: process.env.DB_CHARSET || 'utf8mb4',
8
+ ...getDatabaseConfig(),
13
9
  logging: process.env.DEBUG_DB === 'true'
14
10
  },
15
- redis: {
16
- host: process.env.REDIS_HOST || '127.0.0.1',
17
- port: Number(process.env.REDIS_PORT) || 6379,
18
- password: process.env.REDIS_PASSWORD || undefined
19
- }
11
+ redis: getRedisConfig()
20
12
  })
21
13
 
22
- export { framework }
14
+ export { framework }
@@ -4,6 +4,7 @@ import path from 'path'
4
4
  import { fileURLToPath } from 'url'
5
5
  import { Database } from 'skweb-sequelize'
6
6
  import logger from '../utils/logger.js'
7
+ import { getDatabaseConfig } from '../config/database.js'
7
8
 
8
9
  const __filename = fileURLToPath(import.meta.url)
9
10
  const __dirname = path.dirname(__filename)
@@ -12,13 +13,7 @@ async function runMigrate(): Promise<void> {
12
13
  logger.info('[migrate] Running database migrations...')
13
14
 
14
15
  const db = new Database({
15
- host: process.env.DB_HOST || '127.0.0.1',
16
- port: Number(process.env.DB_PORT) || 3306,
17
- username: process.env.DB_USER || 'root',
18
- password: process.env.DB_PASS || '',
19
- database: process.env.DB_NAME || 'test-project',
20
- dialect: (process.env.DB_DIALECT as 'mysql' | 'postgres' | 'sqlite' | 'mariadb') || 'mysql',
21
- charset: process.env.DB_CHARSET || 'utf8mb4',
16
+ ...getDatabaseConfig(),
22
17
  logging: process.env.DEBUG_DB === 'true' ? (msg: string) => logger.debug(msg) : false
23
18
  })
24
19
 
@@ -34,4 +29,4 @@ if (isMainModule) {
34
29
  logger.error('[migrate] Fatal error:', err)
35
30
  process.exit(1)
36
31
  })
37
- }
32
+ }
@@ -4,6 +4,7 @@ import path from 'path'
4
4
  import { fileURLToPath } from 'url'
5
5
  import { Database } from 'skweb-sequelize'
6
6
  import logger from '../utils/logger.js'
7
+ import { getDatabaseConfig } from '../config/database.js'
7
8
 
8
9
  const __filename = fileURLToPath(import.meta.url)
9
10
  const __dirname = path.dirname(__filename)
@@ -12,13 +13,7 @@ async function runSeed(): Promise<void> {
12
13
  logger.info('[seed] Initializing database with seed data...')
13
14
 
14
15
  const db = new Database({
15
- host: process.env.DB_HOST || '127.0.0.1',
16
- port: Number(process.env.DB_PORT) || 3306,
17
- username: process.env.DB_USER || 'root',
18
- password: process.env.DB_PASS || '',
19
- database: process.env.DB_NAME || 'test-project',
20
- dialect: (process.env.DB_DIALECT as 'mysql' | 'postgres' | 'sqlite' | 'mariadb') || 'mysql',
21
- charset: process.env.DB_CHARSET || 'utf8mb4',
16
+ ...getDatabaseConfig(),
22
17
  logging: process.env.DEBUG_DB === 'true' ? (msg: string) => logger.debug(msg) : false
23
18
  })
24
19
 
@@ -0,0 +1,13 @@
1
+ import type { DatabaseConfig } from 'skweb-sequelize'
2
+
3
+ export function getDatabaseConfig(): DatabaseConfig {
4
+ return {
5
+ host: process.env.DB_HOST || '127.0.0.1',
6
+ port: Number(process.env.DB_PORT) || 3306,
7
+ username: process.env.DB_USER || 'root',
8
+ password: process.env.DB_PASS || '',
9
+ database: process.env.DB_NAME || 'test-project',
10
+ dialect: (process.env.DB_DIALECT as any) || 'mysql',
11
+ charset: process.env.DB_CHARSET || 'utf8mb4'
12
+ }
13
+ }
@@ -0,0 +1,9 @@
1
+ import type { RedisOptions } from 'skweb-redis'
2
+
3
+ export function getRedisConfig(): RedisOptions {
4
+ return {
5
+ host: process.env.REDIS_HOST || '127.0.0.1',
6
+ port: Number(process.env.REDIS_PORT) || 6379,
7
+ password: process.env.REDIS_PASSWORD || undefined
8
+ }
9
+ }
@@ -1,7 +1,5 @@
1
1
  import createHttpError from 'http-errors'
2
- import { framework } from '../web-framework.js'
3
-
4
- const { SysUser } = framework.models
2
+ import { SysUser } from '../models/SysUser.js'
5
3
 
6
4
  /**
7
5
  * @swagger
@@ -1,23 +1,15 @@
1
1
  // @ts-nocheck
2
2
  import { CronFramework } from 'skweb-framework'
3
3
  import logger from './utils/logger.js'
4
+ import { getDatabaseConfig } from './config/database.js'
5
+ import { getRedisConfig } from './config/redis.js'
4
6
 
5
7
  const framework = new CronFramework({
6
8
  db: {
7
- host: process.env.DB_HOST || '127.0.0.1',
8
- port: Number(process.env.DB_PORT) || 3306,
9
- username: process.env.DB_USER || 'root',
10
- password: process.env.DB_PASS || '',
11
- database: process.env.DB_NAME || 'test-project',
12
- dialect: (process.env.DB_DIALECT as any) || 'mysql',
13
- charset: process.env.DB_CHARSET || 'utf8mb4',
9
+ ...getDatabaseConfig(),
14
10
  logging: process.env.DEBUG_DB === 'true'
15
11
  },
16
- redis: {
17
- host: process.env.REDIS_HOST || '127.0.0.1',
18
- port: Number(process.env.REDIS_PORT) || 6379,
19
- password: process.env.REDIS_PASSWORD || undefined
20
- },
12
+ redis: getRedisConfig(),
21
13
  channel: 'cron:task:cmd',
22
14
  logger,
23
15
  onSaveTask: async (taskData: { taskId: string; cache: unknown; data: unknown }) => {
@@ -40,4 +32,4 @@ const framework = new CronFramework({
40
32
  }
41
33
  })
42
34
 
43
- export { framework }
35
+ export { framework }
@@ -1,49 +1,40 @@
1
1
  import { Model, DataTypes, type Sequelize, type ModelStatic } from 'sequelize'
2
2
 
3
- export default (sequelize: Sequelize): ModelStatic<Model> => {
4
- class SysUser extends Model {
5
- declare id: number
6
- declare username: string
7
- declare password: string
8
- declare email: string
9
- declare phone: string
10
- declare status: number
11
- declare createdAt: Date
12
- declare updatedAt: Date
13
- }
14
-
15
- SysUser.init({
16
- id: {
17
- type: DataTypes.INTEGER,
18
- primaryKey: true,
19
- autoIncrement: true
20
- },
21
- username: {
22
- type: DataTypes.STRING(50),
23
- allowNull: false,
24
- unique: true
25
- },
26
- password: {
27
- type: DataTypes.STRING(255),
28
- allowNull: false
29
- },
30
- email: {
31
- type: DataTypes.STRING(100)
32
- },
33
- phone: {
34
- type: DataTypes.STRING(20)
35
- },
36
- status: {
37
- type: DataTypes.TINYINT,
38
- defaultValue: 1
39
- }
40
- }, {
41
- sequelize,
42
- modelName: 'SysUser',
43
- tableName: 'sys_users',
44
- timestamps: true,
45
- underscored: true
46
- })
3
+ export class SysUser extends Model {
4
+ static initModel(sequelize: Sequelize): ModelStatic<Model> {
5
+ SysUser.init({
6
+ id: {
7
+ type: DataTypes.INTEGER,
8
+ primaryKey: true,
9
+ autoIncrement: true
10
+ },
11
+ username: {
12
+ type: DataTypes.STRING(50),
13
+ allowNull: false,
14
+ unique: true
15
+ },
16
+ password: {
17
+ type: DataTypes.STRING(255),
18
+ allowNull: false
19
+ },
20
+ email: {
21
+ type: DataTypes.STRING(100)
22
+ },
23
+ phone: {
24
+ type: DataTypes.STRING(20)
25
+ },
26
+ status: {
27
+ type: DataTypes.TINYINT,
28
+ defaultValue: 1
29
+ }
30
+ }, {
31
+ sequelize,
32
+ modelName: 'SysUser',
33
+ tableName: 'sys_users',
34
+ timestamps: true,
35
+ underscored: true
36
+ })
47
37
 
48
- return SysUser
49
- }
38
+ return SysUser
39
+ }
40
+ }
@@ -1,22 +1,14 @@
1
1
  // @ts-nocheck
2
2
  import { WebFramework } from 'skweb-framework'
3
+ import { getDatabaseConfig } from './config/database.js'
4
+ import { getRedisConfig } from './config/redis.js'
3
5
 
4
6
  const framework = new WebFramework({
5
7
  db: {
6
- host: process.env.DB_HOST || '127.0.0.1',
7
- port: Number(process.env.DB_PORT) || 3306,
8
- username: process.env.DB_USER || 'root',
9
- password: process.env.DB_PASS || '',
10
- database: process.env.DB_NAME || 'test-project',
11
- dialect: (process.env.DB_DIALECT as any) || 'mysql',
12
- charset: process.env.DB_CHARSET || 'utf8mb4',
8
+ ...getDatabaseConfig(),
13
9
  logging: process.env.DEBUG_DB === 'true'
14
10
  },
15
- redis: {
16
- host: process.env.REDIS_HOST || '127.0.0.1',
17
- port: Number(process.env.REDIS_PORT) || 6379,
18
- password: process.env.REDIS_PASSWORD || undefined
19
- }
11
+ redis: getRedisConfig()
20
12
  })
21
13
 
22
- export { framework }
14
+ export { framework }