WIP: Changed annotation syntax to properties and created mutable user_properties #31
Loading…
Reference in a new issue
No description provided.
Delete branch "rework/properties"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Changed the annotations system into a properties one (user, system and lot properties).
Renamed this new syntax on whole project so this changes a lot of files.
Added a device_log that writes onto a file (to not fill up console logging ). Its defaulted to /var/logs.
Now user properties are editable (¿Should the key be modifiable too?) and can also be deleted.
After extensive testing, found no errors so I deleted WIP prefix. This is part of ereuse/projectes#108 (step 1).
To do the db migrations:
./manage.py makemigrations
./manage.py migrate
WIP: rework/propertiesto rework/propertiesrework/propertiesto Changed annotation syntax to properties and created mutable user_propertiesMe da un error cuando intento subir un snapshot con:
El error que me da es:
creo que falta algun fichero de migracion que no has subido o falta correr una vez mas el
@ -220,0 +224,4 @@
'device_log_file': {
'level': 'INFO',
'class': 'logging.FileHandler',
'filename': '/var/log/device_changes.log',
Creo que es mejor poner el directorio donde reside device_changes.log en una variable definida en el .env y por defecto poner algo como "/tmp"
@ -11,2 +13,2 @@
class Annotation(models.Model):
#TODO: base class is abstract; revise if should be for query efficiency
class Property(models.Model):
La clase Type no tiene sentido que este en Property. Creo que es mejor ponerla en la clase UserProperty. Lo mismo con la columna type. Solo pondria la columna type en UserProperty. Esto te libera del CheckConstraint de los dos modelos que has creado.
El CheckConstraint lo puedes cambiar en SystemProperty haciendo que solo coja los fields key, uuid
@ -28,1 +30,4 @@
class Meta:
#Only for shared behaviour, it is not a table
abstract = True
En general separo las clases con dos lineas y los metodos de la clase solo con una linea
Si un fichero no tiene clases y solo tiene funciones, entonces separo esas funciones con dos lineas
Perfecto! Lo tendré en cuenta a partir de ahora y lo cambio en donde vea que haga falta
@ -34,0 +52,4 @@
type = models.SmallIntegerField(default=Property.Type.USER)
class Meta:
constraints = [
Esto desaparece con lo que no tienes que preocuparte. Pero fíjate que has puesto dos variables con el mismo nombre en la clase Meta. Osea que has redefinido una variable y una de las dos no se usará. Para otra ocasión creo que seria más conveniente poner todo dentro de una única variable constraints ya que de por si es una lista. Podrías haber hecho uso de los poderes de la lista añadiéndolo como un elemento más. Lo dicho, no te preocupes por esto ahora porque esto tiene que desaparecer.
La verdad que sí, fue un error tan tonto que no sé como no lo ví. Estoy haciendo el refactoring como comentaste más arriba así no hace falta dos constraints
He realizado los cambios, tales como:
python3 manage.py up_snapshots example/snapshots/ user@example.org
debería correr bienChanged annotation syntax to properties and created mutable user_propertiesto WIP: Changed annotation syntax to properties and created mutable user_propertiesCambiado a WIP temporalmente debido a que se encuentra contenido en ereuse/devicehub-django#37
Pull request closed