Comments (3)
You can modify the proposed solution to make the casts. We can't add automatic casts since they are database-dependent. We don't know what the column's data type is when you pass in a javascript number
for example.
We can't do this automatically. We don't have the information, and never will have, since Kysely is not an ORM.
from kysely.
@koskimas Unfortunately, casting did not work for me (maybe I was doing it wrong).
The problem that Kysely generates PREPARE
statement elsewhere without parameter types and Postgres defaults all parameters to 'text'.
Instead of doing it automatically, it is possible to let the user to specify values schema:
db
.updateTable("foo")
.fromValues<{col1: "int", col2: "text"}>([
{col1: 1, col2: "bar"},
{col1: 2, col2: "buz"}], "v")
.whereRef("foo.col1", "=", "v.col1")
.set(eb => ({
col1: eb.ref("v.col1"),
col2: eb.ref("v.col2")
})
.execute();
and use provided schema when generating PREPARE
statement.
IMHO, Postgres allows to construct such queries and it would be nice if Kysely would provide a standard way to do it as well without converting it to ORM.
from kysely.
Typescript types don't exist in runtime, so no, that's not possible.
from kysely.
Related Issues (20)
- Compile time checks for empty arrays HOT 2
- Incorrect types and missing suggestions when using object index signature HOT 2
- UUID doesn't seem to work for inserts (Postgres) HOT 1
- Loose typechecking on innerJoin/leftJoin comparisons HOT 2
- TypeChecking for doUpdateSet not working since 0.27.0 HOT 3
- Support "using" in joins
- [Q] Reusable CTE (psql) HOT 1
- Issue with parentheses in Postgres using a conflict expression HOT 1
- Query execution result type always resolves to an empty object i.e. "{}" HOT 2
- camelCase plugin is not being applied to subquery results that incorporates jsonArrayFrom HOT 3
- Streaming results not working on Deno for PostgreSQL HOT 2
- Case of extremely slow type checking HOT 4
- ParseJSONResultsPlugin HOT 1
- `INCLUDE` clause in Postgres `createIndex`
- Pass client instance HOT 3
- Inject type from join via raw sql HOT 2
- Set role & configs HOT 2
- dropTable temporary modifier
- Ms sql server - database / schema / tablename HOT 4
- Autocomplete issue with TS 5.0.2 HOT 4
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 kysely.