Comments (4)
Hey @gedw99 and thanks for reaching out.
The underlying schemas specification is "generic" (language agnostic), and HCL was started as a first experiment for implementing it. We plan to provide also support for JSON, SQL, TypeScript, and a Go API for defining the schema as well. You can find more about it on atlas/schemaspec.
Normally a developer would create a migration script as they work.
Alternatively, they can also diff two databases later to produce a migration script.
Both options will be supported in the upcoming releases. A way to move from the current database state to the desired state (defined in HCL for example), and a way to generate a migration spec/script.
I ask this because i am facing this issue many databases at the moment. The databases are NOT controlled by a DBA or DEV; but have new data schemas being developed at runtime by users, and so using HCL provides a way to determine the difference between the actual schema of the database and the intended one.
Also JSON Schema is used by the User to describe what they want the DB to model. These JSON Schema are then translated at runtime into DB Migration scripts. So i could then instead create a HCL script and then compare that against the actual DB, and then find the diff of what needs to be applied at runtime. Very useful.
We plan to provide more than this. Please, if you have time to discuss this, let me know how I can contact you. I'll be happy to share with you the project roadmap and get your feedback 😃
Please, feel free to ping me on ent's Slack channel or email.
from atlas.
thanks @a8m
Yeah i am really interested in what Atlas provides, and would love to discuss things and find out more
Telegram: http://t.me/gedw99
I also messaged you on slack too.
so take your pick :)
from atlas.
Hey @gedw99 and sorry for the delay. Let's continue the discussion on Slack.
from atlas.
No probs . Yep see you there sometime
from atlas.
Related Issues (20)
- Declarative workflow breaks on YugabyteDB HOT 6
- Atlas HCL Syntax: String Not Recognized by Linter HOT 5
- [Multi-file schema]: Allow glob pattern for `env.src` HOT 2
- [Multi-file schema / vsCode extension]: Load related schema files into extension context HOT 5
- [vsCode extension]: Do not require schema files to end in `.pg.hcl` HOT 1
- Go 1.23 support with ent schema loader HOT 4
- Possible patch release 0.26.1 HOT 1
- Intermittent errors on Atlas schema inspect SQL Server using docker (Terraform) HOT 5
- `Unknown variable; There is no variable named "PLpgSQL".` when creating Function HOT 4
- `atlas migrate lint` takes very long HOT 1
- Atlas can't revert back data type that already changed HOT 2
- migrate apply fails first apply to CockroachDB v24.2 HOT 1
- Jetbrains IntelliJ Plugin and Code Folding
- The unique index constraint was not updated after adding a new field. HOT 5
- Incorrect migration DDL generated for simple views with `null as` HOT 5
- schema inspect can not parse url correctly with '#' in password HOT 1
- Support implicit names for PG indexes and constraints HOT 3
- Ensure the atlas CLI tool can be installed via the go tools HOT 1
- Schema loading from Prisma
- Planner creates failing ALTER COLUMN for column changing from int to enum 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 atlas.