We are excited to announce the release of Atlas v0.15.0 🎊
Hi everyone!
It's been a few weeks since our last version announcement and today we are happy to share with you v0.15, which includes some very exciting improvements for Atlas:
- Interactive Declarative Migrations - Atlas supports a Terraform-like workflow for managing your database schema using the schema apply command. In this release we have added a new "Lint and Edit" mode to this command, which will analyze your schema changes for issues and will allow you to edit them interactively before applying them to your database.
- Functions and Stored Procedures - Atlas now supports creating and managing functions and stored procedures in your database schema.
- Postgres Domains - In addition, Atlas now supports Postgres Domains.
- TypeORM Integration - TypeORM is a popular ORM for Node.js. In this release, we are happy to announce the TypeORM integration, which allows you to automatically generate your database schema from your TypeORM entities, create visualizations and more.
Let's dive right in!
Quick installation
macOS + Linux:
curl -sSf https://atlasgo.sh | sh
Homebrew:
brew install ariga/tap/atlas
Docker:
docker pull arigaio/atlas
Legal
The default binaries in this release are distributed released under Atlas EULA, and the community binaries are released under the Apache 2.0 license. If you would like to build Atlas from source follow the instructions here.
What's Changed
Commits
- doc/website/blog: v0.14.0 announcement by @rotemtam in #2041
- cmd/atlas/migratelint: add support for dir-based change detector by @a8m in #2042
- cmd/atlas/cloudapi: add default atlas dir by @a8m in #2043
- doc/md: update info in management ui doc by @hilakashai in #2046
- doc/md: redirect old docs by @hilakashai in #2047
- cmd/atlas: support
build-tags
for entloader by @giautm in #2050 - cmd/atlas: migrate lint stubs for cloud by @a8m in #2052
- cmd/atlas: expose migration dir type by @a8m in #2053
- schemahcl: print native values as is by @a8m in #2054
- go: bump to 1.21 by @a8m in #2055
- doc/setup-ci: fixed incorrect github extension command by @dorav in #2056
- doc: update atlas-sync-action docs by @noamcattan in #2044
- cmd/atlas/migratelint: move stepreport to type by @a8m in #2062
- cmd/atlas: stub for change detection by @a8m in #2065
- cmd/atlas/internal/cmdapi: extract prompt apply to function by @rotemtam in #2067
- cmd/atlas/internal/cmdapi: connect prompt to stdio by @rotemtam in #2068
- cmd/atlas/internal/cmdapi: need sqlclient when applying by @rotemtam in #2069
- doc/md/guides: gitlab ci guide by @rotemtam in #2064
- doc/github-actions: documented 'setup-atlas' action by @dorav in #2063
- doc/website: update 0.0.23 -> 0.0.26 by @ronenlu in #2070
- ci: make runner input flag by @masseelch in #2071
- schemahcl: add
urluserinfo
function by @giautm in #2073 - doc: doc for new 'atlas migrate lint' behavior by @a8m in #2072
- sql/sqlite: detect generated indexes on diff by @a8m in #2074
- doc/md/guides/ci: gitlab add image and fix yaml by @rotemtam in #2076
- cmd/atlas: migrate formatter defaults to atlas by @a8m in #2075
- cmd/atlas/internal: support reporting local directories by @a8m in #2077
- cmd/atlas: allow attaching config token to context by @a8m in #2079
- cmd/atlas/internal: pass configured client to context setter by @a8m in #2080
- cmd/atlas/internal: skip reporting local directories by @a8m in #2084
- sql/postgres: fix panic in postgres DefaultDiffer func by @ronenlu in #2085
- cmdext: support
env://VARIABLE
forruntimevar
datasource by @giautm in #2078 - doc: add short intro to the migrate apply page by @a8m in #2088
- cmd/atlas/internal: move devloader login to helper function by @a8m in #2091
- sql/postgres: remove unused collate/ctype attributes form inspection by @a8m in #2094
- doc/md: flux cd guide by @rotemtam in #2092
- doc/website: update operator v0.3.3 by @datdao in #2066
- cmd/atlas/internal/cmdapi: allow promptApply to be extended with dev … by @a8m in #2097
- doc/md: guide for sequelize schema loader by @ronenlu in #2098
- doc/md/guides: modern ci/cd for databases guide by @rotemtam in #2100
- doc/md: move guide url by @rotemtam in #2105
- cmd/atlas/internal: url/open error by @a8m in #2106
- cmd/atlas: omit url strings from parse errors by @a8m in #2108
- sql: add support for materialized views in sqlspec by @a8m in #2109
- cmd/atlas/internal/cmdext: allow using data.template_dir as desired state by @a8m in #2113
- sql/internal/sqlx: add mviews to standard differ by @a8m in #2114
- sql/postgres: support materialized views indexes by @a8m in #2120
- internal/ci: specify go versions to use on generated workflow files by @masseelch in #2121
- doc/website/blog: post announcing external loader for sequelize by @ronenlu in #2101
- doc/website/blog: update sequelize blog post title by @rotemtam in #2123
- sql/postgres: fix empty enum schema by @hectorj-thetreep in #2125
- cmd/atlas/internal/cmdapi: return back the prompt label by @a8m in #2126
- sql/sqlite: ensure default expressions are wrapped by @a8m in #2127
- cmd/atlas: update command flag examples by @a8m in #2103
- cmd/atlas: quote possible shell expansion issues by @masseelch in #2128
- doc: update concurrent_index policy by @a8m in #2132
- sql: add funcs/procs stubs by @a8m in #2139
- sql/postgres: allow extending pg to check changes by @a8m in #2140
- cmd/atlas: pass correct command context to log templates by @a8m in #2141
- doc/website: bump website version to 0.0.28 by @noamcattan in #2133
- doc: materialized views are in beta by @a8m in #2142
- cmd/internal/sqlparse/pgparse: move to pgquery by @a8m in #2143
- sql/internal/sqlx: allow diff driver override the view.def comparison by @a8m in #2144
- sql/internal/specutil: add procs/funcs scan functions by @a8m in #2146
- sql/postgres: allow extend planners with proc/func changes by @a8m in #2147
- internal/integration: limit test scope to schemas and tables by @a8m in #2148
- sql: add funcs/procs changes by @a8m in #2150
- cmd/atlas/migratelint: add url to summary report and add helper to count diagnostics by @a8m in #2151
- cmd/atlas: vercheck endpoint stub by @rotemtam in #2149
- sql/migrate: skip non-standard #-based comments inside parens by @a8m in #2154
- sql/schema: add helper for Funcs and Procs by @giautm in #2159
- Add support for postgis in --dev-url by @anthonybishopric in #2160
- doc/website-icon-fix by @dimagreat in #2161
- cmd/atlas/migratelint: set missing error field by @a8m in #2162
- cmd/atlas/internal/cmdlog: add funcs/procedures to sql format by @a8m in #2163
- sql/internal/sqlx: add funcs/procs to normalize by @a8m in #2164
- sql/migrate: scan sql-standard body in functions/procedures by @a8m in #2165
- sql: minor patches to enable internal functionality by @a8m in #2166
- doc/md: add specific cloud tag apply example by @rotemtam in #2169
- sql/specutil: marshal funcs and procs by @giautm in #2174
- doc/md: updating gh action doc integration by @rotemtam in #2175
- doc/md: remove windows installation instructions and advise for docker usage by @masseelch in #2171
- doc/md/cloud: updating setup ci doc by @rotemtam in #2178
- doc: funcs and procs hcl blocks by @a8m in #2172
- doc/website/blog: atlas actions release by @rotemtam in #2179
- Add support for ws:// scheme for libSQL by @george-lim in #2010
- sql/mysql: allows extending mysql with funcs/procs inspection by @a8m in #2181
- sql/mysql: allow extending sqlspec with funcs/procs by @a8m in #2182
- doc/md: update PG funcs example by @giautm in #2183
- doc/md: add guide for typeorm schema loader by @ronenlu in #2170
- sql/mysql: allow extending procs/funcs migrate plan by @a8m in #2185
- cmd/atlas/internal/cmdext: allow query params in env runtimevar by @masseelch in #2186
- cmd/atlas/internal/cmdapi/vercheck: adding ctx arg to vercheck by @rotemtam in #2187
- cmd/atlas: hotfix missing arg by @rotemtam in #2188
- doc: add procs/funcs hcl types by @a8m in #2189
- doc/website/blog: mssql blogpost by @rotemtam in #2191
- doc/md/guides/ci-platforms: add mysql and postgres instructions to gi… by @masseelch in #2194
- docs: use correct gitops link by @kostis-codefresh in #2197
- sql/postgres: allow extending drivers to support udf types by @a8m in #2199
- doc: add domains and enums to hcl spec by @a8m in #2200
- sql/mysql: return error for drop views by @giautm in #2201
- cmd/atlas: remove schema qualifiers from plan on schema scope by @a8m in #2202
- Update hcl-types.md by @a8m in #2204
- Update hcl.mdx by @a8m in #2205
- sql/schema: add Attrs for TimeType by @giautm in #2207
- sql/internal/sqlx: support exclude funcs and procs by @a8m in #2208
- doc: fix example func return type by @a8m in #2209
- doc/website/blog: v0.15 announcement by @rotemtam in #2206
New Contributors
- @dorav made their first contribution in #2056
- @hectorj-thetreep made their first contribution in #2125
- @anthonybishopric made their first contribution in #2160
- @george-lim made their first contribution in #2010
- @kostis-codefresh made their first contribution in #2197
Full Changelog: v0.14.0...v0.15.0