Comments (4)
Pretty much everything that touches the datetime type in drift is tightly coupled to sqlite3 at the moment. Most of the methods drift provides for datetime modification also won't work with postgres. It would be nice if implementations could provide a way to intercept default types somehow (so that dateTime()
creates a proper datetime column on postgres).
At the moment, my recommendation is to avoid that type entirely if you're targeting other databases (and use a dialect-specific type instead).
I can change the implementation so that the option only applies to sqlite3, but that doesn't change the fact that the default type for date times is broken on postgres.
from drift.
@simolus3 Yes, I totally get that. The problem came from an user of electricsql
which was reusing the generated drift schema on Postgres and had that option enabled. And unfortunately the error was difficult to debug.
One thing to note is that this issue, related to how the comparator expression gets generated, doesn't occur in latest git version of drift, thanks to the fix on Variable's with CustomTypes, but it hasn't been released yet.
from drift.
The fix was part of drift 2.17. If there are additional problems where custom types don't propagate through the expression builder API, I'll fix them as well. I think that solves this issue (until we eventually have proper support for datetimes across dialects).
from drift.
@simolus3 Yes, with the fix for the CustomTypes is less of deal breaker.
Thank you!
from drift.
Related Issues (20)
- Error: Method not found: 'BaseReferences'. HOT 2
- Table primary composite key from Foreign Keys fails in 2.20 HOT 7
- The migration strategy (ALTER) couldn't resolve the changes HOT 1
- Can't see the full table HOT 5
- Replace the nested `SingleChildScrollView`s in the devtools extension with `TwoDimensionalScrollView`
- SqliteException (SqliteException(1): while preparing statement, no such table: word, SQL logic error (code 1) Causing statement: SELECT * FROM "word";) HOT 4
- DriftIsolate.connect waits forever occasionally HOT 3
- [drift_flutter] driftDatabase more options HOT 2
- Setup page "Manual database setup" toggle closes when trying to copy the code
- DevTools extension replace dependency from `db_viewer` to `drift_db_viewer` HOT 2
- Error: The argument type 'String?' can't be assigned to the parameter type 'String' HOT 6
- Migrate Android app plugin loader - examples HOT 4
- Illegal cast in web wasm HOT 1
- Improve remote protocol serialization on the web
- Insert Silently HOT 4
- `schema export --dialect postgres` produces invalid SQL for DateTimeColumn and BoolColumn when defaults are specified HOT 2
- Add documentation for the Drift DevTools Extension HOT 1
- Add new option to the DevTools extension to run build_runner HOT 1
- Documentation dark mode HOT 2
- Web WASM: "RuntimeError: illegal cast at InsertStatement.insert HOT 3
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 drift.