You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Solo hacerlo una vez por revisión, aunque haya múltiples archivos afectados.
53
51
54
52
---
55
53
@@ -75,11 +73,12 @@
75
73
76
74
## Detección de cambios estructurales (esquema / datos)
77
75
78
-
Cuando el diff sugiera **cambios de estructura de datos**, **siempre proponer** un **script de migración** en la carpeta `scripts/`, usando pre/post/end según corresponda (ver mapeo más abajo) **y recordar el bump de versión**.
76
+
Cuando el diff sugiera **cambios de estructura de datos**, **siempre proponer** un **script de migración** en la carpeta `migrations/`, usando pre/post/end según corresponda (ver mapeo más abajo) **y recordar el bump de versión**.
79
77
Ejemplos de cambios estructurales:
80
78
79
+
* Carpeta dentro de `migrations/` debe ser la versión correspondiente en el manifest (e.g. `migrations/18.0.5.0/`).
81
80
* Renombrar campos o modelos.
82
-
* Cambiar tipos de campo (e.g. `Char → Many2one`, `Selection → Many2one`, `Float → Monetary`).
81
+
* Cambiar tipos de campo (e.g. `Char → Many2one`, `Selection → Many2one`, etc.).
83
82
* Quitar campos para reestructurar información en otros (split/merge).
84
83
* Agregar campos `compute`**almacenados** (`store=True`) que requieren backfill.
85
84
* Cambiar dominios/valores de `selection` (añadir/eliminar/renombrar keys).
@@ -153,13 +152,13 @@ Ejemplos de cambios estructurales:
153
152
154
153
---
155
154
156
-
## Convenciones de scripts en `scripts/`
155
+
## Convenciones de scripts en `migrations/`
157
156
158
-
* Ubicación: `scripts/`
157
+
* Ubicación: `migrations/`
159
158
* Nombres sugeridos:
160
159
161
-
*`pre_<version>_<breve-descripcion>.py`
162
-
*`post_<version>_<breve-descripcion>.py`
160
+
*`pre_<breve-descripcion>.py`
161
+
*`post_<breve-descripcion>.py`
163
162
* Requisitos:
164
163
165
164
* Idempotentes (seguros si se ejecutan más de una vez).
@@ -171,7 +170,7 @@ Ejemplos de cambios estructurales:
| Migraciones |**Si hay cambios estructurales, exigir script en `scripts/` (pre/post/end)** y describir qué hace |
211
+
| Migraciones |**Si hay cambios estructurales, exigir script en `migrations/` (pre/post/end)** y describir qué hace |
213
212
| Rendimiento / ORM | Evitar loops costosos; no SQL innecesario; aprovechar mejoras de v19.0 |
214
213
| Ortografía & typos | Errores evidentes corregibles sin modificar idioma ni estilo |
215
214
@@ -219,7 +218,7 @@ def migrate(cr, registry):
219
218
220
219
***SI** el diff toca cualquiera de: `models/`, `views/`, `data/`, `report/`, `security/`, `wizards/`
221
220
**Y**`__manifest__.py` no cambia `version` → **Sugerir bump**.
222
-
***SI** hay scripts `scripts/pre_*.py` o `scripts/post_*.py` nuevos → **Sugerir al menos minor bump**.
221
+
***SI** hay scripts `migrations/pre_*.py` o `migrations/post_*.py` nuevos → **Sugerir al menos minor bump**.
223
222
***SI** hay cambios que rompen compatibilidad (renombres, tipos, required sin default) → **Sugerir minor/major** según impacto.
224
223
225
224
---
@@ -241,9 +240,8 @@ def migrate(cr, registry):
241
240
242
241
* “El campo `partner_id` no se encuentra referenciado en la vista.”
243
242
* “Este método redefine `write()` sin usar `super()`.”
244
-
* “En v19.0, `<tree>` ya no se usa; reemplazar por `<list>`.”
245
243
* “Tip: hay un error ortográfico en el nombre del parámetro.”
246
-
***Bump + migración:** “Se renombra `old_ref` → `new_ref`: falta **bump de versión** y **pre-script** en `scripts/` para copiar valores antes del upgrade; añadir **post-script** para recompute del stored.”
244
+
***Bump + migración:** “Se renombra `old_ref` → `new_ref`: falta **bump de versión** y **pre-script** en `migrations/` para copiar valores antes del upgrade; añadir **post-script** para recompute del stored.”
247
245
248
246
* Evitar explicaciones largas o reescrituras completas salvo que el cambio sea claro y necesario.
249
247
@@ -252,5 +250,5 @@ def migrate(cr, registry):
252
250
## Resumen operativo para Copilot
253
251
254
252
1.**Detecta cambios en modelos/vistas/seguridad/datos → exige bump de `version` en `__manifest__.py`.**
255
-
2.**Si hay cambio estructural → propone y describe script(s) de migración en `scripts/` (pre/post/inline),** con enfoque idempotente y en lotes.
253
+
2.**Si hay cambio estructural → propone y describe script(s) de migración en `migrations/` (pre/post/end),** con enfoque idempotente y en lotes.
256
254
3. Mantén el feedback **concreto, breve y accionable**.
0 commit comments