github ariga/atlas v0.3.6

latest releases: v0.28.1, v0.28.0, v0.27.0...
2 years ago

Atlas v0.3.6 is a patch release that includes bug fixes and improvements to the Atlas DDL and the Management UI.

Installation

macOS

curl -LO https://release.ariga.io/atlas/atlas-darwin-amd64-v0.3.6
chmod +x ./atlas-darwin-amd64-v0.3.6
sudo mv ./atlas-darwin-amd64-v0.3.6 /usr/local/bin/atlas
sudo chown root: /usr/local/bin/atlas

Linux

curl -LO https://release.ariga.io/atlas/atlas-linux-amd64-v0.3.6
sudo install -o root -g root -m 0755 ./atlas-linux-amd64-v0.3.6 /usr/local/bin/atlas

Windows

Download

New Features

Atlas DDL

Add support for enums in foreign-keys referential actions.

foreign_key "manager_fk" {
  columns = [column.manager_id]
  ref_columns = [column.id]
- on_delete = "CASCADE"
+ on_delete = CASCADE
- on_update = "NO ACTION"
+ on_update = NO_ACTION
}

Management UI

This version introduces two new features:

Remote schema caching - The Management UI now caches the results of database inspection.

This is done both to reduce the time of rendering some screens and to reduce the load on the remote database. Because Atlas relies on the inspection of the remote database to be recent and accurate, we provide mechanisms in the UI to initiate a re-inspection of the remote database schema.

atlas serve - users can now use the atlas serve command to initiate the Management UI against persistent storage without running inspection or a migration.

Previously, to use the Management UI, users had to initiate either an inspection or migration of a remote database (by using the -w flag on the schema inspect or schema apply commands). In addition, the data backing the management UI was only persisted in an in-memory database, meaning that as soon as you stopped the Atlas process, migration history, audit logs, and changes to the schema.

To use atlas serve, run from the command line:

./atlas serve --storage "mysql://root:pass@tcp(localhost:3306)/atlas"

Where the --storage flag points to the database where you would like the Atlas management UI metadata to be stored. If you do not specify the storage, it will use an in-memory SQLite database.

Notice: Credentials to the databases you configure to be managed by Atlas will be stored in this storage. Atlas currently stores database passwords in clear text, support for encryption at rest will be added in a future version.

And minor UI fixes

What's Changed

  • sql: use enums for referential actions by @a8m in #590
  • fixed sqlite escaping on migrate insert by @devnode in #591
  • sql/mysql: minor diff changes by @a8m in #592
  • doc/md: add homebrew installation instructions to docs by @rotemtam in #593
  • cmd/action: better wording by @masseelch in #594
  • sql/mysql: use default attributes when from realm is nil by @yonidavidson in #595
  • sql/mysql: mysql implementation for schema.Normalize by @a8m in #598

New Contributors

Full Changelog: v0.3.5...V0.3.6

Don't miss a new atlas release

NewReleases is sending notifications on new releases.