├── .cargo └── config.toml ├── .github └── dependabot.yaml ├── .gitignore ├── .hoox.yaml ├── .rustfmt.toml ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── docs ├── README.md ├── adrs │ ├── 0001-rfc-compliant-wording.md │ ├── 0002-feature-conditional-compilation.md │ ├── 0003-subsystem-architecture.md │ ├── 0004-error-handling-anyhow.md │ ├── 0005-async-patterns.md │ ├── 0006-configuration-management.md │ ├── 0007-repository-service-pattern.md │ ├── 0008-cli-command-pattern.md │ ├── 0009-type-safety-patterns.md │ ├── 0010-version-compatibility-validation.md │ ├── 0011-migration-file-format.md │ ├── 0012-migration-safety-modes.md │ ├── 0013-history-management.md │ ├── 0014-audit-logging-and-table-naming.md │ ├── 0015-transactions-and-timeouts.md │ ├── 0016-experimental-features-policy.md │ ├── 0017-docs-and-completions.md │ ├── 0018-output-formatting.md │ └── 0019-cli-diagnostics-and-exit-codes.md └── releases │ └── v0.5 │ └── notes.md ├── neomake.yaml ├── src ├── args.rs ├── config.rs ├── core │ ├── migration.rs │ ├── mod.rs │ ├── repo.rs │ └── service.rs ├── main.rs ├── reference.rs └── subsystem │ ├── driver.rs │ ├── mod.rs │ ├── postgres │ ├── commands.rs │ ├── config.rs │ ├── migration.rs │ ├── mod.rs │ └── repo.rs │ └── sqlite │ ├── commands.rs │ ├── config.rs │ ├── migration.rs │ ├── mod.rs │ └── repo.rs └── test ├── id=1756625168555 ├── down.sql ├── meta.toml └── up.sql ├── id=1756625170620 ├── down.sql ├── meta.toml └── up.sql ├── id=1756625171456 ├── down.sql ├── meta.toml └── up.sql ├── qop.toml └── test.db /.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/.cargo/config.toml -------------------------------------------------------------------------------- /.github/dependabot.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/.github/dependabot.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/.gitignore -------------------------------------------------------------------------------- /.hoox.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/.hoox.yaml -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/.rustfmt.toml -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/LICENSE -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/adrs/0001-rfc-compliant-wording.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0001-rfc-compliant-wording.md -------------------------------------------------------------------------------- /docs/adrs/0002-feature-conditional-compilation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0002-feature-conditional-compilation.md -------------------------------------------------------------------------------- /docs/adrs/0003-subsystem-architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0003-subsystem-architecture.md -------------------------------------------------------------------------------- /docs/adrs/0004-error-handling-anyhow.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0004-error-handling-anyhow.md -------------------------------------------------------------------------------- /docs/adrs/0005-async-patterns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0005-async-patterns.md -------------------------------------------------------------------------------- /docs/adrs/0006-configuration-management.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0006-configuration-management.md -------------------------------------------------------------------------------- /docs/adrs/0007-repository-service-pattern.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0007-repository-service-pattern.md -------------------------------------------------------------------------------- /docs/adrs/0008-cli-command-pattern.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0008-cli-command-pattern.md -------------------------------------------------------------------------------- /docs/adrs/0009-type-safety-patterns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0009-type-safety-patterns.md -------------------------------------------------------------------------------- /docs/adrs/0010-version-compatibility-validation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0010-version-compatibility-validation.md -------------------------------------------------------------------------------- /docs/adrs/0011-migration-file-format.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0011-migration-file-format.md -------------------------------------------------------------------------------- /docs/adrs/0012-migration-safety-modes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0012-migration-safety-modes.md -------------------------------------------------------------------------------- /docs/adrs/0013-history-management.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0013-history-management.md -------------------------------------------------------------------------------- /docs/adrs/0014-audit-logging-and-table-naming.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0014-audit-logging-and-table-naming.md -------------------------------------------------------------------------------- /docs/adrs/0015-transactions-and-timeouts.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0015-transactions-and-timeouts.md -------------------------------------------------------------------------------- /docs/adrs/0016-experimental-features-policy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0016-experimental-features-policy.md -------------------------------------------------------------------------------- /docs/adrs/0017-docs-and-completions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0017-docs-and-completions.md -------------------------------------------------------------------------------- /docs/adrs/0018-output-formatting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0018-output-formatting.md -------------------------------------------------------------------------------- /docs/adrs/0019-cli-diagnostics-and-exit-codes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/adrs/0019-cli-diagnostics-and-exit-codes.md -------------------------------------------------------------------------------- /docs/releases/v0.5/notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/docs/releases/v0.5/notes.md -------------------------------------------------------------------------------- /neomake.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/neomake.yaml -------------------------------------------------------------------------------- /src/args.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/args.rs -------------------------------------------------------------------------------- /src/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/config.rs -------------------------------------------------------------------------------- /src/core/migration.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/core/migration.rs -------------------------------------------------------------------------------- /src/core/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/core/mod.rs -------------------------------------------------------------------------------- /src/core/repo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/core/repo.rs -------------------------------------------------------------------------------- /src/core/service.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/core/service.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/reference.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/reference.rs -------------------------------------------------------------------------------- /src/subsystem/driver.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/subsystem/driver.rs -------------------------------------------------------------------------------- /src/subsystem/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/subsystem/mod.rs -------------------------------------------------------------------------------- /src/subsystem/postgres/commands.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/subsystem/postgres/commands.rs -------------------------------------------------------------------------------- /src/subsystem/postgres/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/subsystem/postgres/config.rs -------------------------------------------------------------------------------- /src/subsystem/postgres/migration.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/subsystem/postgres/migration.rs -------------------------------------------------------------------------------- /src/subsystem/postgres/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/subsystem/postgres/mod.rs -------------------------------------------------------------------------------- /src/subsystem/postgres/repo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/subsystem/postgres/repo.rs -------------------------------------------------------------------------------- /src/subsystem/sqlite/commands.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/subsystem/sqlite/commands.rs -------------------------------------------------------------------------------- /src/subsystem/sqlite/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/subsystem/sqlite/config.rs -------------------------------------------------------------------------------- /src/subsystem/sqlite/migration.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/subsystem/sqlite/migration.rs -------------------------------------------------------------------------------- /src/subsystem/sqlite/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/subsystem/sqlite/mod.rs -------------------------------------------------------------------------------- /src/subsystem/sqlite/repo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/src/subsystem/sqlite/repo.rs -------------------------------------------------------------------------------- /test/id=1756625168555/down.sql: -------------------------------------------------------------------------------- 1 | -- SQL goes here -------------------------------------------------------------------------------- /test/id=1756625168555/meta.toml: -------------------------------------------------------------------------------- 1 | comment = "test" 2 | locked = true 3 | -------------------------------------------------------------------------------- /test/id=1756625168555/up.sql: -------------------------------------------------------------------------------- 1 | -- SQL goes here -------------------------------------------------------------------------------- /test/id=1756625170620/down.sql: -------------------------------------------------------------------------------- 1 | -- SQL goes here -------------------------------------------------------------------------------- /test/id=1756625170620/meta.toml: -------------------------------------------------------------------------------- 1 | comment = "test" 2 | locked = true 3 | -------------------------------------------------------------------------------- /test/id=1756625170620/up.sql: -------------------------------------------------------------------------------- 1 | -- SQL goes here -------------------------------------------------------------------------------- /test/id=1756625171456/down.sql: -------------------------------------------------------------------------------- 1 | -- SQL goes here -------------------------------------------------------------------------------- /test/id=1756625171456/meta.toml: -------------------------------------------------------------------------------- 1 | comment = "test" 2 | locked = true 3 | -------------------------------------------------------------------------------- /test/id=1756625171456/up.sql: -------------------------------------------------------------------------------- 1 | -- This migration is designed to fail 2 | INVALID SQL SYNTAX THAT WILL CAUSE AN ERROR; -------------------------------------------------------------------------------- /test/qop.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/test/qop.toml -------------------------------------------------------------------------------- /test/test.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cchexcode/qop/HEAD/test/test.db --------------------------------------------------------------------------------