Comments (2)
Why do you want to use a custom type for the ID? I can see this breaking a lot of Fluent, including the relationships and querying since Fluent won't know what underlying DB type to map to in the encoder/decoder
from fluent-mysql-driver.
The main reason is that it is easy to misuse if all models have same ID type.
The IDs of ModelA
and ModelB
is similar but they are different. ModelA.find(idOfModelB, on: db)
is totally incorrect operation.
I want to forbid it with type system.
I can see this breaking a lot of Fluent, including the relationships and querying since Fluent won't know what underlying DB type to map to in the encoder/decoder
That's correct. I didn't noticed simply making LastInsertIDInitializable
public causes several problem.
There's no restriction LastInsertIDInitializable
will be encoded to integer.
As far as I know there's no way in type system to assure the underlying type so protocol
approach won't work.
The only way that can achieve my demand is having ID type in this repository but it's going too far.
I give up this issue.
If someone has good idea, please tell me.
from fluent-mysql-driver.
Related Issues (20)
- References and Foreign Key Constraints not being applied HOT 2
- `.string` migrations results in a 256 length varchar HOT 1
- Mysql LAST_INSERT_ID HOT 2
- Error related to SwiftPackage HOT 1
- It can't be decoded if value is null HOT 1
- QueryBuilder.all() is 30 times slower than java code HOT 13
- Not able to store special characters and emojis properly HOT 1
- Implementation for deleteReference seems to be missing HOT 1
- MariaDB cannot hydrate and/or dehydrate bool values HOT 1
- How to query raw SQL with local variables?
- Convenience APIs for configuring character set for database, tables, and columns
- Trying to connect to a database without password HOT 1
- error: extra argument 'requestTimeout' in call requestTimeout: self.connectionPoolTimeout, HOT 18
- Investigate flaky CI
- Make `MySQLConfiguration` non-constant HOT 6
- Could not convert MySQL data to Date HOT 1
- FluentMySQLConfiguration's memberwise initializer takes a minute to typecheck HOT 1
- Connection refused (errno: 61) when trying to connect to a remote Database HOT 2
- Could not convert MySQL data to Date on time field HOT 1
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 fluent-mysql-driver.