Comments (12)
Form the GraphQL side you need to implement an ITypeModule ... this will manage the phase out of schemas...
Here you can see an example.
https://github.com/ChilliCream/graphql-platform/blob/13349fa4af03514507ed5e3aaf9a771c696b56a6/src/HotChocolate/Fusion/src/Core/DependencyInjection/FileWatcherTypeModule.cs
The TypeModule is registered with the schema.
from data-api-builder.
can this be closed with #50 merged? @JelteF
from data-api-builder.
I don't think this should be closed, because it is about the more user facing version of hot roloading configs. One that does not require dotnet watch
but simply run the binary with a --watch
flag.
However, I don't think this should be an M0 milestone. Work on dev tooling team can start just fine without this support. So I'm marking this as M1 instead now. @jarupatj please comment on this if you disagree with that for some reason.
from data-api-builder.
Solving this #189 will help here.
from data-api-builder.
Should we support hot reloading at all? Once runtime is bootstrapped, should we allow modifications to it?
In M1, we might expect customers to restart the docker image.
For M2, we will throw away the container and use a different one from the warm pool whenever any config changes.
Moving to M2 for now so we can discuss more.
from data-api-builder.
Modified this issue to cove hot reloading of the configuration file. This will clear duplicate issues, which will all be tracked here.
from data-api-builder.
Would be great to have a switch on the CLI, something like --watch that will automatically reload the configuration file (and thus re-generate the in-memory schema) whenever the file is changed. Something like https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-watch
That would greatly improve development velocity.
from data-api-builder.
In order to set the LogLevel based on the mode in the runtimeconfig we need to use a configuration provider that can reload the configuration after updating the Loglevel.
More information can be found here: https://learn.microsoft.com/en-us/dotnet/core/extensions/logging?tabs=command-line
from data-api-builder.
Moved to April, waiting on new configuration resolver.
from data-api-builder.
hot-reload property in config?
from data-api-builder.
I have created a number of sub-tasks to help track the progress on Hot Reload.
Currently, we are refreshing the RuntimeConfig
to match any updates that we see in the associated config file when we are in the local scenario and start the engine in developer mode.
To facilitate extending Hot Reload in the future, a refactor of the RuntimeConfigProvider
is taking place
as well as some changes to make hot reload work with the new multi config code
Additionally, one of the key features we want support for hot reloading is reloading of the log-level, and so this property is being added to the config and we have a task to track being able to hot reload this property in both dev and production mode
Additionally, there are some tasks for updating those settings which depend on the config only at startup, such as the OpenApiDoc and Auth settings
from data-api-builder.
Moving this + hot reload related tasks to post GA -> tracking via 1.2rc milestone.
from data-api-builder.
Related Issues (20)
- Improve readability and extensibility in the test suite HOT 1
- Validate `linking.source.fields` and `linking.source.fields` define valid backing columns of `linking.object` HOT 2
- Validate source/linkingSource and target/linkingTarget fields in a many to many relationship scenario
- Enhance logic for determining the referencing entity when fields backed by a column with default value is present. HOT 3
- Add codespaces config for .NET 6 and .NET 8 for easier code review
- [Bug]: GraphQL filtering by relation property causes `Incorrect database name ''` HOT 2
- [Bug]: GraphQL type doesn't match any entity name or singular type in the runtime config. HOT 2
- Support multiple create mutation for self-referencing relationships.
- DataApiBuilderException: Cannot obtain Schema for entity with underlying database object source: due to: Connection Timeout Expired. HOT 1
- Container image does not deploy to an ACA environment (v0.11.127) HOT 9
- [Bug]: ./azure-container-apps-deploy.sh is broken. HOT 2
- GraphQL Query failure when mappings exist for relationship fields HOT 1
- [Bug]: GraphQL Query failure when mappings exist for relationship fields
- Add docs for Whats new in 0.11 HOT 2
- Expose Header Information in App Console Logs
- [Bug]: nextLink is broken when hosted on Static Web App
- Docker Hub - publisher - Trusted Content HOT 3
- [Bug]: Multiple REST API requests fail when "set-session-context": true HOT 1
- [Bug]: New relationship validations causing unexpected exception being thrown HOT 1
- [Bug]: Validating entity relationships throws unhandled exception HOT 7
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 data-api-builder.