summaryrefslogtreecommitdiff
path: root/doc/es_ES/plugin-schema-migrations.markdown
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-09-11 22:00:09 -0400
committerFrederic Guillot <fred@kanboard.net>2016-09-11 22:00:09 -0400
commit20c187880ce9b5b4b55d3027f5df07ce042ad7ec (patch)
tree52813c5b2409de23660544fd95648a731117f70e /doc/es_ES/plugin-schema-migrations.markdown
parentf1d6673050dfa9e642ba634728e5349bdcbbd644 (diff)
Merge manually pull-request #2658
Diffstat (limited to 'doc/es_ES/plugin-schema-migrations.markdown')
-rw-r--r--doc/es_ES/plugin-schema-migrations.markdown40
1 files changed, 40 insertions, 0 deletions
diff --git a/doc/es_ES/plugin-schema-migrations.markdown b/doc/es_ES/plugin-schema-migrations.markdown
new file mode 100644
index 00000000..b7165490
--- /dev/null
+++ b/doc/es_ES/plugin-schema-migrations.markdown
@@ -0,0 +1,40 @@
+Plugin Migración de esquemas
+============================
+
+Kanboard realiza migraciones de base de datos automaticamente para ti.
+Las migraciones deben ser almacenadas en una carpeta **Schema** y el nombre de archivo debe ser el mismo que el controlador de base de datos:
+
+```bash
+Schema
+├── Mysql.php
+├── Postgres.php
+└── Sqlite.php
+```
+
+Cada archivo contiene todas las migraciones, aqui un ejemple para Sqlite:
+
+```php
+<?php
+
+namespace Kanboard\Plugin\Something\Schema;
+
+const VERSION = 1;
+
+function version_1($pdo)
+{
+ $pdo->exec('CREATE TABLE IF NOT EXISTS something (
+ "id" INTEGER PRIMARY KEY,
+ "project_id" INTEGER NOT NULL,
+ "something" TEXT,
+ FOREIGN KEY(project_id) REFERENCES projects(id) ON DELETE CASCADE
+ )');
+}
+```
+
+- La constante `VERSION` es la ultima versión de tu esquema
+- Cada funcion es una migración `version_1()`, `version_2()`, etc.
+- Una instancia `PDO` es pasado como un primer argumneto
+- Todo se ejecuta dentro de una transacción , si algo no funciona se realiza una operación de rollback y se muestra el error al usuario
+
+Kanboard siempre compara la version definida en tu esquema y la version almacenada en la base de datos. Si la versiones son diferentes, kanboard siempre ejecuta cada migración una por una hasta alcanzar la ultima version.
+