Ir al contenido principal

Actualización del modelo de datos en Djanto mediante South

Comenzamos instalado South:

sudo pip install south


Configurar nuestro proyecto para que soporte south, para ello tendremos que editar el fichero setting.py y añadir en INSTALLED_APPS 'south'. A continuación sincronizaremos por última vez mediante Django el modelo de datos:

python manage.py syncdb


Ya se habrá creado una tabla south_migrationhistory donde se almacenan los diferentes script de actualizaciones del modelo de datos que vayamos realizando. Podemos confirmarlo:

python manage.py dbshell
mysql> connect mi_base_de_datos; 
mysql> show tables;
mysql> exit 
 
 
La primera vez tendremos que crear el primer script de creación de las tablas:


python manage.py schemamigration mi_app --init
python manage.py migrate mi_app 

Si realizamos algún cambio sobre el modelo de datos deberemos de realizar:
python manage.py schemamigration mi_app --auto
python manage.py migrate mi_app 
 
 
En el caso que no exista concordancia con la sucesión de script que south tiene almacenado con respecto a la actualización que necesitamos aplicar para que el modelo de datos esté coherente con la base de datos, tendremos que realizar una migración indicando el último script que no deseamos aplicar (en este ejemplo se salta el primero de creación) y así poder aplicar el resto:

python manage.py migrate mi_app 0001 --fake
python manage.py migrate mi_app



Comentarios

Entradas populares de este blog

Instalación Django en NAS Synology con FastCGI

Los NAS Synology no traen el módulo de apache mod-wsgi por lo que he utilizado el módulo mod-fastcgi en su lugar para hacer funcionar Django en los NAS Synology. Necesitamos del módulo mysql-python , para su instalación podemos seguir la entrada que ya se publicó en este mismo blog:  http://ilizaran.blogspot.com.es/2014/09/instalacion-del-modulo-mysql-python-en.html De la instalación de mysql-python ya tendremos instalado pip en el NAS por lo que podremos instalar Django con algunos módulos necesarios: pip install Django pip install setuptools pip install flup Para saber que la instalación de Django ha sido correcta y verificar la versión podemos realizar: python import django  django.VERSION Ahora modifcamos la configuración de apache editando el fichero /etc/httpd/conf/httpd.conf-user  para hacer accesible los ficheros css, imágenes y javascript de la parte administrativa de Django, por lo que añadimos: Alias /static/admin /usr/local/packages/@appstor...

Envío masivo de correos personalizados mediante Thunderbird y Mail Merge

Seguramente hayas necesitado enviar correos electrónicos a muchas personas sobre un mismo asunto pero te hubiera gustado que hubieran llegado con su nombre y a su dirección de correo (no en un saco de direcciones de copia oculta). Esto es realmente sencillo con Thunderbird y el complemento Mail Merge. Primero, como es lógico, necesitamos Thunderbird instalado y configurado con la cuenta de correo electrónico que vamos a utilizar para realizar el envío masivo. Ahora accede a Herramientas-> Complementos y busca "mail merge", este aparecerá en la lista de resultados y pulsaremos en el botón de instalar. Reiniciamos Thunderbird para que se active el complemento. Llega el momento interesante, crea un nuevo correo electrónico de forma habitual y redacta el correo que deseas enviar de forma masiva. En el destinatario indica {{correo}} y en el cuerpo de correo {{nombre}} Y ahora llega la hora de la verdad, pulsa sobre Archivo -> Mail Merge. Obtendremos ...

Instalación del módulo mysql-python en NAS Synology

Instalar gcc en Synology Para la instalación de mysql-python es necesario el compilador gcc, por lo que lo obtendremos de Synology Open Source Project (http://sourceforge.net/projects/dsgpl). El paquete a descargar dependerá de la versión de NAS Synology que tengamos, por lo que tendremos que utilizara el comando: uname -a para conocer la versión de nuestro kernel y arquitectura instalada y descargar el paquete correspondiente. En mi caso he descargado: gcc463_glibc213_i686_cedarview-GPL.tgz pues mi equipo muestra cedarview y i686. Ahora lo descargamos y lo extraemos: cd /usr/local http://kent.dl.sourceforge.net/project/dsgpl/DSM%205.2%20Tool%20Chains/Intel%20x86%20Linux%203.2.40%20%28Cedarview%29/cedarview-gcc463_glibc213_i686_patched-GPL.txz tar -xvJf cedarview-gcc463_glibc213_i686_patched-GPL.txz rm cedarview-gcc463_glibc213_i686_patched-GPL.txz Instalación de las fuentes de Mysql Synology utiliza MariaDB, pero para la compilación del módulo de python podemos utiliz...