Skip to content

Conversation

@abonander
Copy link
Collaborator

@abonander abonander commented Jul 27, 2024

Reference sqlx.toml: https://github.com/launchbadge/sqlx/blob/sqlx-toml/sqlx-core/src/config/reference.toml

Once this is implemented, I'm planning on starting an alpha release cycle for 0.9.0 so that we can test this. It's not expected to be a breaking change but it's a large enough feature that it should probably go in a new major release, and there's a few other breaking API changes waiting in the wings.

The keys listed here are just the ones I've identified as needed for an MVP. Other keys may be added later backwards-compatibly.

Breaking Changes

  • Significant changes to the Migrate trait
  • sqlx::migrate::resolve_blocking() is now #[doc(hidden)] and thus SemVer-exempt

Bikeshedding checklist:

  • snake_case or kebab-case for keys?
  • macros.column_overrides should maybe be called macros.table_overrides instead?
    • since the next level in the key is the table name, not the column name?

Implementation checklist

  • [common]
    • database-url-var
      • support in query macros
      • support in sqlx-cli
      • test
  • [macros]
    • preferred-crates
      • date-time
        • test
      • numeric
        • test
    • table-overrides
      • test
    • type-overrides
      • test
  • [migrate]
    • create-schemas
      • support in migrate!()
      • support in sqlx-cli
      • test (examples/postgres/multi-tenant)
    • table-name
      • support in migrate!()
      • support in sqlx-cli
      • test (examples/postgres/multi-tenant)
    • migrations-dir
      • support in migrate!()
      • support in #[sqlx::test]?
      • support in sqlx-cli
      • test (examples/postgres/multi-tenant)
    • ignored-chars
      • support in migrate!()
      • support in sqlx-cli
      • test
    • defaults
      • migration-type
        • test
      • migration-versioning
        • test

closes #121
closes #3412

@abonander abonander force-pushed the sqlx-toml branch 2 times, most recently from 2b7fdba to 46dd260 Compare July 28, 2024 01:51
@abonander abonander force-pushed the sqlx-toml branch 7 times, most recently from fd557ad to 6c886f8 Compare August 2, 2024 03:41
@abonander abonander added this to the 0.9.0 milestone Sep 9, 2024
@abonander abonander force-pushed the sqlx-toml branch 3 times, most recently from af39902 to b67a83b Compare September 9, 2024 07:24
@abonander abonander force-pushed the sqlx-toml branch 2 times, most recently from 496f631 to 6cc3ac0 Compare September 18, 2024 08:58
@srfsh
Copy link

srfsh commented Sep 22, 2025

Although this seems to work great with macros and the cli, it fails with tests in which database-url-var is utilized. It complains about DATABASE_URL being not set, as if it doesn't understand database-url-var. I can workaround this by setting DATABASE_URL to the value of database-url-var when running cargo test. Is this intended? Am I missing something?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

sqlx uses time instead of chrono Question: best way to use sqlx with connections to two different databases?

6 participants