# Single-table store for orders, roster entries and weekly settings. # # Deletion protection and point-in-time recovery are on in prod: this table # holds the only copy of submitted orders, and a rebuild would lose payroll # history. Dev is disposable (PITR and deletion protection off). # lifecycle.prevent_destroy cannot interpolate, so it stays true in both # environments. Destroy a leftover dev table from the AWS console after # setting deletion_protection_enabled = false in a follow-up apply. resource "aws_dynamodb_table" "orders" { name = local.table_name billing_mode = "PAY_PER_REQUEST" hash_key = "PK" range_key = "SK" deletion_protection_enabled = local.is_prod attribute { name = "PK" type = "S" } attribute { name = "SK" type = "S" } ttl { attribute_name = "ttl" enabled = true } point_in_time_recovery { enabled = local.is_prod } lifecycle { prevent_destroy = true } }