Skip to content

fix(rds): add MySQL/MariaDB dump/restore, fix license model and metadata#276

Merged
vieiralucas merged 2 commits intomainfrom
worktree-fix+cubic-batch4-rds
Apr 12, 2026
Merged

fix(rds): add MySQL/MariaDB dump/restore, fix license model and metadata#276
vieiralucas merged 2 commits intomainfrom
worktree-fix+cubic-batch4-rds

Conversation

@vieiralucas
Copy link
Copy Markdown
Member

@vieiralucas vieiralucas commented Apr 12, 2026

Summary

  • Branch dump_database/restore_database by engine: mysqldump/mysql for MySQL/MariaDB, pg_dump/psql for PostgreSQL — read replicas and snapshot restores now work across all engines
  • Return correct license model per engine (general-public-license for MySQL/MariaDB, postgresql-license for PostgreSQL)
  • Make latest_restorable_time optional — omit XML element for instances with BackupRetentionPeriod=0
  • Unify supported DB instance classes into single SUPPORTED_INSTANCE_CLASSES constant to prevent drift
  • Use engine-appropriate default DB name (mysql vs postgres)

Addresses unresolved Cubic findings from PR #220.

Test plan

  • cargo clippy --workspace --all-targets -- -D warnings passes
  • All 14 RDS unit tests pass
  • Full workspace compiles cleanly

Summary by cubic

Adds engine-aware dump/restore for RDS containers and fixes engine-specific metadata. Read replicas and snapshot restores now work for MySQL/MariaDB and PostgreSQL.

  • New Features

    • Dump/restore now branches by engine (mysqldump/mysql vs pg_dump/psql).
    • Engine-appropriate default DB name (mysql vs postgres).
  • Bug Fixes

    • Correct license model per engine (general-public-license for MySQL/MariaDB, postgresql-license for PostgreSQL).
    • latest_restorable_time is optional; omit XML when BackupRetentionPeriod=0, and set it for read replicas based on the source instance’s backup config.
    • Unified SUPPORTED_INSTANCE_CLASSES as a single source of truth.

Written for commit f2a1a91. Summary will update on new commits.

… latest_restorable_time

- Branch dump_database/restore_database by engine: mysqldump/mysql for MySQL/MariaDB, pg_dump/psql for PostgreSQL
- Return correct license model per engine (general-public-license for MySQL/MariaDB)
- Make latest_restorable_time optional — omit for instances with backup_retention_period=0
- Unify supported DB instance classes into single SUPPORTED_INSTANCE_CLASSES constant
- Use engine-appropriate default DB name (mysql vs postgres)
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 4 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="crates/fakecloud-rds/src/service.rs">

<violation number="1" location="crates/fakecloud-rds/src/service.rs:1149">
P2: Set `latest_restorable_time` conditionally for read replicas so instances with `BackupRetentionPeriod=0` omit `LatestRestorableTime`.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread crates/fakecloud-rds/src/service.rs
@vieiralucas vieiralucas merged commit e6ec0f4 into main Apr 12, 2026
22 of 23 checks passed
@vieiralucas vieiralucas deleted the worktree-fix+cubic-batch4-rds branch April 12, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant