sea-schema
🌿 SQL schema definition and discovery
0.18.1
12M downloads/mo
#2815 most downloaded on crates.io
SeaQL/sea-schema
What this package is like to depend on
Last release 1 months ago
01 Jul 2026
Ships unpredictably
gaps range from 1 weeks to 6 months
Nearly every release is documented
notes for 39 of 40 stable releases
6 versions withdrawn
withdrawn after publishing
5 years old
72 releases · first in 2021
12 releases in the last 12 months
see the full history below
Release timeline
72 releases · Apr 2021 to Jul 2026Releases
latest 60 of 72-
0.18.101 Jul 2026Release notes
Open source →Bug Fixes
- Restore
SendonConnectiondiscovery futures under sqlx backends, fixingSchemaBuilder::sync()in SeaORM (SeaORM #3100) #170
Release notes
Open source →Bug Fixes
- Restore
SendonConnectiondiscovery futures under sqlx backends, fixingSchemaBuilder::sync()in SeaORM (SeaORM #3100) https://github.com/SeaQL/sea-schema/pull/170
- Restore
-
0.18.029 May 2026Release notes
Open source →- Update to Rust Edition 2024 https://github.com/SeaQL/sea-schema/pull/147
- Upgrade
sea-queryto 1.0 - SQLite return all indexes
- SQLite now writes all integers as
BigInteger - Postgres support
is_partialfor index https://github.com/SeaQL/sea-schema/pull/150
Bug Fixes
- Fix MariaDB schema discovery
- Fix SQLite primary key to be not null
- Postgres fix enum discovery to be schema-specific https://github.com/SeaQL/sea-schema/pull/156
- Postgres fix foreign key discovery to be schema-specific https://github.com/SeaQL/sea-schema/pull/157
- Postgres fix foreign key discovery where components may have duplicate columns
- Postgres fix unique key discovery where components have wrong orders
-
0.17.0-rc.1713 Dec 2025 pre-releaseNothing published for this version
-
0.17.0-rc.1623 Nov 2025 pre-releaseNothing published for this version
-
0.17.0-rc.1515 Nov 2025 pre-releaseNothing published for this version
-
0.17.0-rc.1410 Nov 2025 pre-releaseNothing published for this version
-
0.17.0-rc.1208 Nov 2025 pre-releaseNothing published for this version
-
0.17.0-rc.1107 Nov 2025 pre-releaseNothing published for this version
-
0.17.0-rc.1025 Oct 2025 pre-releaseNothing published for this version
-
0.17.0-rc.915 Oct 2025 pre-releaseNothing published for this version
-
0.17.0-rc.815 Oct 2025 pre-releaseNothing published for this version
-
0.17.0-rc.716 Sep 2025 pre-releaseNothing published for this version
-
0.17.0-rc.619 Aug 2025 pre-releaseNothing published for this version
-
0.17.0-rc.507 Aug 2025 pre-releaseNothing published for this version
-
0.17.0-rc.406 Aug 2025 pre-releaseNothing published for this version
-
0.17.0-rc.319 Jul 2025 pre-releaseNothing published for this version
-
0.17.0-rc.208 Jun 2025 pre-releaseNothing published for this version
-
0.17.0-rc.128 May 2025 pre-releaseNothing published for this version
-
0.16.207 May 2025Release notes
Open source →Enhancements
- Map
postgres-vectortype in discovery https://github.com/SeaQL/sea-schema/pull/146
- Map
-
0.16.126 Dec 2024Release notes
Open source →Features
- Added
IndexType::Vectorto MySQL (behind featureplanetscale) #139 - Implement postgres vector extension #137
Bug fixes
- Fix enum values ordering #138
Release notes
Open source →Features
- Added
IndexType::Vectorto MySQL (behind featureplanetscale) https://github.com/SeaQL/sea-schema/pull/139 - Implement postgres vector extension https://github.com/SeaQL/sea-schema/pull/137
Bug fixes
- Fix enum values ordering https://github.com/SeaQL/sea-schema/pull/138
- Added
-
0.16.017 Oct 2024Release notes
Open source →Versions
sea-schema/0.16.0-rc.1: 2024-08-09
Upgrades
- Upgrade
sea-queryto0.32.0https://github.com/SeaQL/sea-schema/pull/136 - Upgrade
sea-query-binderto0.7.0https://github.com/SeaQL/sea-schema/pull/136 - Upgrade
sqlxto0.8https://github.com/SeaQL/sea-schema/pull/136
-
0.16.0-rc.109 Aug 2024 pre-release -
0.15.002 Aug 2024Release notes
Open source →Features
Bug fixes
- Fix constraint query when table is partitioned #125
- Fix Postgres foreign key column without unique constraint #131
- Fix discovery of MySQL, SQLite and PostgreSQL unique indexes #133
Breaking changes
SchemaProbe::query_tables(..)changed toSchemaProbe::query_tables(&self, ..)#127SchemaProbe::has_table(..)changed toSchemaProbe::has_table(&self, ..)#126SchemaProbe::has_column(..)changed toSchemaProbe::has_column(&self, ..)#126SchemaProbe::has_index(..)changed toSchemaProbe::has_index(&self, ..)#126
Enhancements
- Added non-TLS runtime #134
Upgrades
- Upgrade
synto2#129
Release notes
Open source →Versions
sea-schema/0.15.0-rc.1: 2024-01-31sea-schema/0.15.0-rc.2: 2024-02-02sea-schema/0.15.0-rc.3: 2024-03-15sea-schema/0.15.0-rc.4: 2024-03-24sea-schema/0.15.0-rc.5: 2024-05-02sea-schema/0.15.0-rc.6: 2024-05-03sea-schema/0.15.0-rc.7: 2024-06-19sea-schema-derive/0.3.0: 2024-08-02
Features
- Rework SQLite data type mapping https://github.com/SeaQL/sea-schema/pull/117
- Update binary and bit data types mapping https://github.com/SeaQL/sea-schema/pull/122
Bug fixes
- Fix constraint query when table is partitioned https://github.com/SeaQL/sea-schema/pull/125
- Fix Postgres foreign key column without unique constraint https://github.com/SeaQL/sea-schema/pull/131
- Fix discovery of MySQL, SQLite and PostgreSQL unique indexes https://github.com/SeaQL/sea-schema/pull/133
Breaking changes
SchemaProbe::query_tables(..)changed toSchemaProbe::query_tables(&self, ..)https://github.com/SeaQL/sea-schema/pull/127SchemaProbe::has_table(..)changed toSchemaProbe::has_table(&self, ..)https://github.com/SeaQL/sea-schema/pull/126SchemaProbe::has_column(..)changed toSchemaProbe::has_column(&self, ..)https://github.com/SeaQL/sea-schema/pull/126SchemaProbe::has_index(..)changed toSchemaProbe::has_index(&self, ..)https://github.com/SeaQL/sea-schema/pull/126
Enhancements
- Added non-TLS runtime https://github.com/SeaQL/sea-schema/pull/134
Upgrades
- Upgrade
synto2https://github.com/SeaQL/sea-schema/pull/129
-
0.15.0-rc.719 Jun 2024 pre-releaseRelease notes
Open source →Features
Bug fixes
- Fix constraint query when table is partitioned #125
- Fix Postgres foreign key column without unique constraint #131
- Fix discovery of MySQL, SQLite and PostgreSQL unique indexes #133
Breaking changes
SchemaProbe::query_tables(..)changed toSchemaProbe::query_tables(&self, ..)#127SchemaProbe::has_table(..)changed toSchemaProbe::has_table(&self, ..)#126SchemaProbe::has_column(..)changed toSchemaProbe::has_column(&self, ..)#126SchemaProbe::has_index(..)changed toSchemaProbe::has_index(&self, ..)#126
Enhancements
- Added non-TLS runtime #134
-
0.15.0-rc.603 May 2024 pre-releaseNothing published for this version
-
0.15.0-rc.502 May 2024 pre-releaseNothing published for this version
-
0.15.0-rc.424 Mar 2024 pre-releaseNothing published for this version
-
0.15.0-rc.315 Mar 2024 pre-releaseNothing published for this version
-
0.15.0-rc.202 Feb 2024 pre-releaseNothing published for this version
-
0.15.0-rc.131 Jan 2024 pre-releaseNothing published for this version
-
0.14.218 Jan 2024Release notes
Open source →Bug fixes
- Fix composite foreign key discovery for Postgres https://github.com/SeaQL/sea-schema/pull/118
- Fix composite foreign key discovery for SQLite https://github.com/SeaQL/sea-schema/pull/119
House keeping
- Fix clippy warnings on 1.75 https://github.com/SeaQL/sea-schema/pull/121
-
0.14.114 Sep 2023Release notes
Open source →- Added
has_indextoSchemaProbehttps://github.com/SeaQL/sea-schema/pull/115
- Added
-
0.14.021 Jul 2023Release notes
Open source →Upgrades
- Upgrade
sea-queryto0.30https://github.com/SeaQL/sea-schema/pull/114 - Upgrade
sea-query-binderto0.5https://github.com/SeaQL/sea-schema/pull/114 - Upgrade
sqlxto0.7https://github.com/SeaQL/sea-schema/pull/114
Bug fixes
- Fix PostgreSQL enum arrays and case-sensitive types https://github.com/SeaQL/sea-schema/pull/108
- Upgrade
-
0.12.020 Jul 2023Release notes
Open source →- 2023-03-22:
0.12.0-rc.1 - 2023-05-18:
0.12.0-rc.2
Features and upgrades
- Skip parsing partitioned Postgres tables https://github.com/SeaQL/sea-schema/pull/105
- Upgrade
heckdependency insea-schema-deriveto 0.4 https://github.com/SeaQL/sea-schema/pull/103 - Upgrade
sea-queryto0.29https://github.com/SeaQL/sea-schema/pull/104 - Upgrade
sea-query-binderto0.4https://github.com/SeaQL/sea-schema/pull/104 - Replace the use of
SeaRc<T>whereTisn'tdyn IdenwithRcOrArc<T>https://github.com/SeaQL/sea-schema/pull/107 - Customized parsing logic for MySQL and MariaDB column default https://github.com/SeaQL/sea-schema/pull/110
- Properly distinguish between Value and Expression, and the very special CURRENT_TIMESTAMP
- Improve SQLite's column default parsing logic https://github.com/SeaQL/sea-schema/pull/112
Breaking changes
- API now returns
Resultinstead of panic on errors https://github.com/SeaQL/sea-schema/pull/109 ColumnDefaultchanged from a struct into an enum https://github.com/SeaQL/sea-schema/pull/110- Added
CurrentTimestampvariant to SQLite'sDefaultTypehttps://github.com/SeaQL/sea-schema/pull/112
- 2023-03-22:
-
0.12.0-rc.218 May 2023 pre-releaseNothing published for this version
-
0.12.0-rc.122 Mar 2023 pre-releaseNothing published for this version
-
0.11.005 Jan 2023Release notes
Open source →- Upgrade SeaQuery to 0.28 https://github.com/SeaQL/sea-schema/pull/90
- Changed all version = "^x.y.z" into version = "x.y.z" and disabled default features and enable only the needed ones https://github.com/SeaQL/sea-schema/pull/93
- Skip parsing Postgres check constraints when check expression is empty https://github.com/SeaQL/sea-schema/pull/96
- Parsing Postgres citext column type https://github.com/SeaQL/sea-schema/pull/94
-
0.10.316 Nov 2022Release notes
Open source →- Backward compatible schema discovery for MySQL 5.6 https://github.com/SeaQL/sea-schema/pull/86
-
0.10.227 Oct 2022Release notes
Open source →- Fix parsing of Postgres user-defined types https://github.com/SeaQL/sea-schema/pull/84
-
0.10.123 Oct 2022 withdrawnRelease notes
Open source →- Parse & write Postgres array datatypes https://github.com/SeaQL/sea-schema/pull/83
-
0.10.018 Oct 2022 withdrawn -
0.9.416 Sep 2022Release notes
Open source →- Parsing SQLite integer column types without space in it https://github.com/SeaQL/sea-schema/pull/77
-
0.9.317 Jul 2022Release notes
Open source →- SQLite real datatype maps to double https://github.com/SeaQL/sea-schema/pull/75
- Discover SYSTEM VERSIONED tables for MariaDB https://github.com/SeaQL/sea-schema/pull/76
-
0.9.204 Jul 2022Release notes
Open source →- PostgreSQL datetime and timestamp datatype are equivalent https://github.com/SeaQL/sea-schema/pull/69
- MySQL VarBinary column type mapping https://github.com/SeaQL/sea-schema/pull/67
- Upgrade
sqlxto 0.6 - Upgrade
sea-queryto 0.26
-
0.9.101 Jul 2022 withdrawnNothing published for this version
-
0.9.030 Jun 2022 withdrawnNothing published for this version
-
0.8.117 Jun 2022Release notes
Open source →- Fix SQLx version to ^0.5 https://github.com/SeaQL/sea-schema/pull/70
- PostgreSQL query non-key foreign key info https://github.com/SeaQL/sea-schema/pull/65
-
0.8.009 May 2022 -
0.7.126 Mar 2022Release notes
Open source →- Support SeaORM 0.7.0
- Support Postgres jsonb in entity generation https://github.com/SeaQL/sea-schema/pull/51
-
0.7.026 Mar 2022Nothing published for this version
-
0.6.013 Mar 2022Release notes
Open source →- Write MySQL unsigned integer types https://github.com/SeaQL/sea-schema/pull/37
- Fix Sqlite BLOB type https://github.com/SeaQL/sea-schema/pull/44
- Migrate with
sea_orm::DbConnhttps://github.com/SeaQL/sea-schema/pull/49
-
0.5.107 Feb 2022 -
0.5.006 Feb 2022Release notes
Open source →- Fix Postgres discover duplicated foreign keys by @billy1624 in https://github.com/SeaQL/sea-schema/pull/30
- Schema Manager by @billy1624 in https://github.com/SeaQL/sea-schema/pull/26
Full Changelog: https://github.com/SeaQL/sea-schema/compare/0.4.0...0.5.0
-
0.4.025 Dec 2021 -
0.3.112 Dec 2021Release notes
Open source →- Add support for the Postgres interval type by @autarch in https://github.com/SeaQL/sea-schema/pull/20
- CI: Clippy, MySQL & Postgres by @billy1624 in https://github.com/SeaQL/sea-schema/pull/21
- Write MySQL & Postgres Enum Columns by @billy1624 in https://github.com/SeaQL/sea-schema/pull/29
Full Changelog: https://github.com/SeaQL/sea-schema/compare/0.2.9...0.3.1
-
0.3.011 Dec 2021 withdrawnNothing published for this version
-
0.2.1011 Dec 2021 withdrawnNothing published for this version
-
0.2.923 Sep 2021 -
0.2.817 Sep 2021 -
0.2.722 Aug 2021