Fix support old sqlite3

This commit is contained in:
Alexandre Bodin 2022-03-22 20:04:23 +01:00
parent 14305e8d11
commit 88c317effc
5 changed files with 15 additions and 3 deletions

View File

@ -1,5 +1,5 @@
const sqlite = {
client: 'sqlite',
client: 'sqlite', // sqlite for old sqlite3 / sqlite3 for @vscode/sqlite3 // and better-sqlite3
connection: {
filename: '.tmp/data.db',
},

View File

@ -27,7 +27,7 @@
"mysql": "2.18.1",
"passport-google-oauth2": "0.2.0",
"pg": "8.6.0",
"@vscode/sqlite3": "^5.0.7"
"@vscode/sqlite3": "5.0.7"
},
"strapi": {
"uuid": "getstarted"

View File

@ -7,6 +7,8 @@ const getDialectClass = client => {
case 'mysql':
return require('./mysql');
case 'sqlite':
case 'sqlite3':
case 'better-sqlite3':
return require('./sqlite');
default:
throw new Error(`Unknown dialect ${client}`);

View File

@ -10,10 +10,20 @@ const { createMigrationsProvider } = require('./migrations');
const { createLifecyclesProvider } = require('./lifecycles');
const errors = require('./errors');
const SqliteClient = require('knex/lib/dialects/sqlite3/index');
// TODO: move back into strapi
const { transformContentTypes } = require('./utils/content-types');
const createConnection = config => {
if (config.client === 'sqlite') {
config.client = class MySqliteClient extends SqliteClient {
_driver() {
return require('sqlite3');
}
};
}
const knexInstance = knex(config);
return Object.assign(knexInstance, {

View File

@ -5885,7 +5885,7 @@
resolved "https://registry.yarnpkg.com/@vercel/ncc/-/ncc-0.33.3.tgz#aacc6b3ea9f7b175e0c9a18c9b97e4005a2f4fcc"
integrity sha512-JGZ11QV+/ZcfudW2Cz2JVp54/pJNXbsuWRgSh2ZmmZdQBKXqBtIGrwI1Wyx8nlbzAiEFe7FHi4K1zX4//jxTnQ==
"@vscode/sqlite3@^5.0.7":
"@vscode/sqlite3@5.0.7":
version "5.0.7"
resolved "https://registry.yarnpkg.com/@vscode/sqlite3/-/sqlite3-5.0.7.tgz#358df36bb0e9e735c54785e3e4b9b2dce1d32895"
integrity sha512-NlsOf+Hir2r4zopI1qMvzWXPwPJuFscirkmFTniTAT24Yz2FWcyZxzK7UT8iSNiTqOCPz48yF55ZVHaz7tTuVQ==