Comments (6)
reservation, transaction, connector and charge_box are part of the CPO domain.
ocpp_tag is part of the EMSP domain.
I think the idea is good for connector and ocpp_tag because it is related to the same domain. But I'm less sure for reservation and transaction_start because of the difference of domain and data ownership.
IMO, CPO domain should not have a strong dependency to the emsp domain and using the id_tag as FK allows to keep the expected data at the good place without breaking the current implementation.
From a design point of view, removing the relation won't be a good deal if needed a day.
from steve.
i think one potential problem is the following: since ocpp tags are not guaranteed to be universally unique, what if multiple EMSPs use the same value and therefore are in conflict with each other? using a natural key is a problem here. a transaction or reservation is not guaranteed to be in a universally unique relation with an ocpp tag id.
the same can be said for charge box id.
therefore, in general: natural keys are not guaranteed to be unique across different providers/worlds.
from steve.
moreover, current db models of reservation and transaction require a valid ocpp tag id FK, meaning: an entry has to exist in ocpp_tag table. if the entry has to exist anyways, this entry will have a PK. therefore, changing the reference from natural key to PK is just syntactical.
from steve.
If I understand well you say we need more information because the tag is insufficient alone, especially when there are many actors.
I have a potentially different approach here because I think the CPMS should first store events from the chargers and then reconcile data. Replacing natural keys for transactions and reservations will maybe complicate the FK removal.
from steve.
Replacing natural keys for transactions and reservations will maybe complicate the FK removal.
FK removal? what would be the motivation and use case? do you have a fork of steve where you made some custom enhancements/changes which would be broken after making the changes of this feature request?
from steve.
There appears to be a discrepancy between the intended functionality of the charge/reservation tag, as seen from a CPO perspective, and the actual manageability of tags through the interface, as seen from an EMP perspective.
This mixing of concepts is potentially problematic and could result in functional issues.
However, it is important to note that this discussion is based on conceptual arguments rather than concrete instances in a production environment.
from steve.
Related Issues (20)
- Charger not following profiles
- Enable ocpp Logs HOT 1
- Is it possible to only allow charging for added OCPP tags? HOT 2
- Installation manual
- Add new Charge Point form can not handle emojis in the Decription field
- Not able to install on Ubuntu with Mariadb 10.11 HOT 3
- Kafka Integration HOT 3
- Approval request: steve logo variation and placement HOT 4
- Connector 0/zero causes Exception HOT 9
- Charger connections limit HOT 1
- Why do I get 404 when I access static resources locally? Answer when you have time, thank you!
- Date handling in OCPP operations HOT 3
- Transaction returning ConcurrentTX as status not stopped HOT 9
- Network requirement question HOT 2
- Connect charging station to Steve.
- Multiple Webusers login HOT 5
- Installation fails on "Access denied" error HOT 2
- When i am trying to run the steve.jar file, i am getting below mentioned error: HOT 2
- Logs are Unavailable 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 steve.