It's been two months since the release of v0.9.0, so we figured it's about time to release a new version and share with you what we've accomplished so far, as well as what's to come in the upcoming weeks. Besides the many improvements and bug fixes in v0.10.0, we added two major features to Atlas that I want to share with you: schema loaders and the Community Preview of Atlas Cloud.
In our previous post, we discussed our motivation for developing an infrastructure to load desired states from external
sources (not just SQL and HCL), and we highlighted the importance of schema loaders. Today, I'm happy to share that we've made
significant progress on this front. We started by creating a schema loader for the Ent framework, and with the
release of v0.10.0, Ent users can now use their
ent/schema package as the desired state in all the different Atlas
Using the new integration, users can compare an
ent/schema package with any other state, apply it onto a database,
generate migrations from it, and much more. Here are two examples:
- Migrate Diff
- Schema Diff
atlas migrate diff create_users \
--dir "file://migrations" \
--to "ent://path/to/schema" \
atlas schema diff \
--from "file://migrations" \
--to "ent://path/to/schema" \
I'm really eager to see this initiative come to fruition because it has proven to work well for the Ent community. We are now ready to expand support for additional frameworks and languages. In the upcoming weeks, you can expect to see additional integrations, such as GORM, Sequelize, and more. With these new superpowers, users will be able to manage all of their database schemas using a single tool - Atlas!
Atlas Cloud Community Preview
We are also super thrilled to announce the Community Preview of Atlas Cloud! Atlas Cloud is a cloud-based service that provides teams with an end-to-end solution for managing database schema changes. As part of the Community Preview, we are offering a free "Community" plan for all users which you can use to manage up to 5 migration directories for your team or personal projects.
One important feature that was recently added to Atlas is the ability to connect remote migration directories stored in GitHub to Atlas Cloud. This new functionality empowers users to easily audit and view their migration history and get migration linting checks on their PRs, such as destructive or backwards incompatible changes detection.
Let's walk through a simple guide on how to set it up to a project with just a few clicks:
1. Login to atlasgo.cloud and create a new workspace (organization) for your projects:
2. Once created, go to
/dirs/configure and connect your migration directory stored in GitHub to Atlas Cloud:
3. After connecting your directory, you'll see an extensive overview of your migration history and the schema it presents:
- Schema Visualization
- Schema Definition
4. From this point on, every change made to the migration directory will be reflected in Atlas Cloud. But what about the changes themselves? Here's where the magic happens. Once a directory is connected, any pull request that modifies it will be automatically checked and reviewed by Atlas!
Let's create a sample migration change, open a pull request, and see it in action:
- PR Status
- Code Annotations
- Report Summary
Wonderful! However, that's not all. There is another detailed and visualized report available in Atlas Cloud that has been specifically created for this CI run. Go to the migration directory page, click on the CI Runs button to check it out.
A big thanks to @giautm, @masseelch and @yonidavidson for building this feature for Atlas!
Well, this is just the beginning of Atlas Cloud! In the upcoming weeks, we will be rolling out several new major features that we have been working on lately, including schema drift detection, managed migration deployments, and much more. If any of these features sound interesting to you, please do not hesitate to contact us.
We would love to hear from you on our Discord server ❤️.