You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

59 lines
1.9 KiB

// knexfile.mjs (ESM格式)
export default {
development: {
client: "sqlite3",
connection: {
filename: "./database/development.sqlite3",
},
migrations: {
directory: "./src/db/migrations", // 迁移文件目录
// 启用ES模块支持
extension: "mjs",
loadExtensions: [".mjs", ".js"],
},
seeds: {
directory: "./src/db/seeds", // 种子数据目录,
// 启用ES模块支持
extension: "mjs",
loadExtensions: [".mjs", ".js"],
timestampFilenamePrefix: true,
},
useNullAsDefault: true, // SQLite需要这一选项
pool: {
min: 1,
max: 1, // SQLite 建议设为 1,避免并发问题
afterCreate: (conn, done) => {
conn.run("PRAGMA journal_mode = WAL", done) // 启用 WAL 模式提高并发
},
},
},
// 生产环境、测试环境配置可按需添加
production: {
client: "sqlite3",
connection: {
filename: "./database/db.sqlite3",
},
migrations: {
directory: "./src/db/migrations", // 迁移文件目录
// 启用ES模块支持
extension: "mjs",
loadExtensions: [".mjs", ".js"],
},
seeds: {
directory: "./src/db/seeds", // 种子数据目录,
// 启用ES模块支持
extension: "mjs",
loadExtensions: [".mjs", ".js"],
timestampFilenamePrefix: true,
},
useNullAsDefault: true, // SQLite需要这一选项
pool: {
min: 1,
max: 1, // SQLite 建议设为 1,避免并发问题
afterCreate: (conn, done) => {
conn.run("PRAGMA journal_mode = WAL", done) // 启用 WAL 模式提高并发
},
},
},
}