Loading...
Loading...
Use when creating or changing a table, column, constraint, index, sequence or comment - "add a column", "create a table for X", "them cot", "tao bang", "sua kieu du lieu", "comment cho cot", a migration script, or a column type change. Designs the DDL to the house standard and Oracle practice, documents every table and column with COMMENT ON, and lands it through pythia deploy with the honest rollback.
npx skill4agent add thaildhe172591/pythia pythia-tableDROP COLUMNNO TABLE OR COLUMN WITHOUT ITS COMMENT, ITS CONSTRAINTS AND ITS IMPACT KNOWNpythia cols Tpythia comments Tpythia stats Tpythia impact Tpythia similar T_<NAME>pythia ddl TABLE <NEIGHBOUR>.pythia/conventions.mdpythia conventionspythia-specreference/ddl-standards.mdPK_FK_UK_CK_VARCHAR2(n CHAR)NUMBER(p,s)DATETIMESTAMPCOMMENT ON TABLECOMMENT ON COLUMNCOMMENT ... ISunistrpythia doctor --dbpythia lint script.sql comments.sqlADD ... NOT NULLpythia-deploypythia deploy script.sqlpythia applystructuraldenypythia policy set structural confirmstructuralpythia-verifypythia cols Tpythia comments Tpythia invalid| Change | Safe shape |
|---|---|
| New mandatory column | |
| Rename | Never in place on a shared schema: add the new column, copy, move the callers, drop the old one later — a separate, destructive approval. |
| Type change | Widening ( |
| New FK on existing data | |
| Drop | Destructive: its own preview, its own approval, never inside an autopilot lease unless the card said so. Check the Recycle Bin is on and never add |
ALTER TABLE ... ADDMODIFYONLINE| Statement | Undo |
|---|---|
| Yes — the previous comment is snapshotted; |
| A |
| |
| No. Flashback is a DBA's job, if retention allows it. |
| Thought | Reality |
|---|---|
| "Comments later, once it works" | Later never comes; the dictionary is the only documentation that survives. Same script. |
| "The FK index is an optimisation" | Without it, deleting a parent locks the whole child table. It is correctness under load. |
| "VARCHAR2(100) is plenty" | 100 bytes is ~33 Vietnamese characters in AL32UTF8. Say |
| "I'll default the NOT NULL column to 0" | That is a business decision made silently. Ask. |
| "Rename is one statement" | And one broken caller per reference. Expand, then contract. |
| "The table is new, impact is zero" | Say so with |
pythia-writepythia-packagepythia-tuneUPDATEDELETEpythia-applydata_dml