forked from elmau/empresa-libre
Migracion para Usuarios
This commit is contained in:
parent
c7e4febb0c
commit
12bac7d8a6
|
@ -338,6 +338,16 @@ class TipoMovimientoAlmacen(BaseModel):
|
||||||
return self.nombre
|
return self.nombre
|
||||||
|
|
||||||
|
|
||||||
|
class Sucursales(BaseModel):
|
||||||
|
nombre = TextField(default='')
|
||||||
|
direccion = TextField(default='')
|
||||||
|
serie_facturas = TextField(default='')
|
||||||
|
serie_tickets = TextField(default='')
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
order_by = ('nombre',)
|
||||||
|
|
||||||
|
|
||||||
class Usuarios(BaseModel):
|
class Usuarios(BaseModel):
|
||||||
usuario = TextField(unique=True)
|
usuario = TextField(unique=True)
|
||||||
nombre = TextField(default='')
|
nombre = TextField(default='')
|
||||||
|
@ -349,6 +359,7 @@ class Usuarios(BaseModel):
|
||||||
es_activo = BooleanField(default=True)
|
es_activo = BooleanField(default=True)
|
||||||
fecha_ingreso = DateTimeField(default=util.now)
|
fecha_ingreso = DateTimeField(default=util.now)
|
||||||
ultimo_ingreso = DateTimeField(null=True)
|
ultimo_ingreso = DateTimeField(null=True)
|
||||||
|
sucursal = ForeignKeyField(Sucursales, null=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
t = '{} {} ({})'
|
t = '{} {} ({})'
|
||||||
|
@ -4414,8 +4425,40 @@ def _crear_tablas(rfc):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def migrate_tables():
|
def _migrate_tables():
|
||||||
connect()
|
from playhouse.migrate import PostgresqlMigrator, migrate
|
||||||
|
|
||||||
|
rfc = input('Introduce el RFC: ').strip().upper()
|
||||||
|
if not rfc:
|
||||||
|
msg = 'El RFC es requerido'
|
||||||
|
log.error(msg)
|
||||||
|
return
|
||||||
|
|
||||||
|
args = util.get_con(rfc)
|
||||||
|
if not args:
|
||||||
|
return
|
||||||
|
|
||||||
|
conectar(args)
|
||||||
|
|
||||||
|
tablas = [Sucursales]
|
||||||
|
log.info('Creando nuevas tablas...')
|
||||||
|
database_proxy.create_tables(tablas, True)
|
||||||
|
log.info('Tablas creadas correctamente...')
|
||||||
|
|
||||||
|
log.info('Iniciando migración de tablas...')
|
||||||
|
migrations = []
|
||||||
|
migrator = PostgresqlMigrator(database_proxy)
|
||||||
|
|
||||||
|
sucursal = ForeignKeyField(Sucursales, null=True, to_field=Sucursales.id)
|
||||||
|
columns = [c.name for c in database_proxy.get_columns('usuarios')]
|
||||||
|
if not 'sucursal_id' in columns:
|
||||||
|
migrations.append(
|
||||||
|
migrator.add_column('usuarios', 'sucursal_id', sucursal))
|
||||||
|
|
||||||
|
if migrations:
|
||||||
|
with database_proxy.atomic() as txn:
|
||||||
|
migrate(*migrations)
|
||||||
|
|
||||||
log.info('Tablas migradas correctamente...')
|
log.info('Tablas migradas correctamente...')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -5089,9 +5132,6 @@ def _test():
|
||||||
|
|
||||||
conectar(args)
|
conectar(args)
|
||||||
|
|
||||||
rows = Categorias.select().where(
|
|
||||||
Categorias.categoria=='Productos', Categorias.padre.is_null(True)).exists()
|
|
||||||
print (rows)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
@ -5141,7 +5181,7 @@ def main(iniciar_bd, migrar_bd, nuevo_superusuario, cambiar_contraseña, rfc,
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
if opt['migrar_bd']:
|
if opt['migrar_bd']:
|
||||||
migrate_tables()
|
_migrate_tables()
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
if opt['nuevo_superusuario']:
|
if opt['nuevo_superusuario']:
|
||||||
|
|
Loading…
Reference in New Issue