Comments (3)
Verified, it does not work with better-sqlite3
package. So we must look into it
from lucid.
Im not really into this stuff but i found something out that could be interesting:
I played around with better-sqlite3
and found out that PRAGMA writable_schema = 1
has no effect when better-sqlite3 isn't switched to unsafeMode. That would explain why the delete on sqlite_master fails.
But still, i dont understand how the tests didn't catch that (though i did not read through them).
Edit: I did go one layer up to knex for my testing:
import knex from "knex";
const db = knex({
client: "better-sqlite3",
connection: {
filename: "test.sqlite3",
},
useNullAsDefault: true,
});
/* This fails, however when you uncomment the unsafeMode calls, it works */
db.client.acquireRawConnection().then((conn) => {
// conn.unsafeMode(true);
conn.pragma("writable_schema = 1");
conn.prepare(
"DELETE FROM sqlite_master WHERE type IN ('table', 'index', 'trigger')"
).run();
conn.pragma("writable_schema = 0");
// conn.unsafeMode(false);
});
db.destroy();
I couldn't find any other method to call the better-sqlite3 method from knex. Even acquireRawConnection
isn't even documented (thanks copilot 😂)
from lucid.
Closing in favor of the PR.
from lucid.
Related Issues (20)
- Factory with BelongsTo relationship fails with `this.factory is not a function` HOT 1
- Search path occasionally reverts to public for PG connection with custom schema defined HOT 3
- .useTransaction() is ignored and the default connection is used HOT 4
- useWhereRaw error "bind message supplies 2 parameters, but prepared statement "" requires 1" HOT 1
- V5: Repeatable read isolation doesn't work as expected
- `BaseModel.toObject()` fails with `null` nested BelongsTo relationship HOT 4
- FindManyBy return type error HOT 2
- Model delete while joining other tables generates wrong query HOT 4
- Missing exports
- If value is DateTime in newUpIfMissing, duplicate rows are created even if the value is the same
- Preload relationship does not work
- firstOrCreate() causes infinite loop in beforeUpdate() hook
- LucidModel: updateOrCreate not return row with default value HOT 1
- Default values does not return in create HOT 8
- `@adonisjs/lucid/migration` is not exported
- Query reporting doesn't happen in 20.1.0 HOT 4
- The unique rule from VineJS should be simpler? HOT 7
- db:seed and migration:fresh use default connection, and not that supplied by the --connection flag HOT 6
- `unique` and `exists` are only available to `VineString` type
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lucid.