Migracion para Usuarios
This commit is contained in:
parent
c7e4febb0c
commit
12bac7d8a6
|
@ -338,6 +338,16 @@ class TipoMovimientoAlmacen(BaseModel):
|
|||
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):
|
||||
usuario = TextField(unique=True)
|
||||
nombre = TextField(default='')
|
||||
|
@ -349,6 +359,7 @@ class Usuarios(BaseModel):
|
|||
es_activo = BooleanField(default=True)
|
||||
fecha_ingreso = DateTimeField(default=util.now)
|
||||
ultimo_ingreso = DateTimeField(null=True)
|
||||
sucursal = ForeignKeyField(Sucursales, null=True)
|
||||
|
||||
def __str__(self):
|
||||
t = '{} {} ({})'
|
||||
|
@ -4414,8 +4425,40 @@ def _crear_tablas(rfc):
|
|||
return True
|
||||
|
||||
|
||||
def migrate_tables():
|
||||
connect()
|
||||
def _migrate_tables():
|
||||
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...')
|
||||
return
|
||||
|
||||
|
@ -5089,9 +5132,6 @@ def _test():
|
|||
|
||||
conectar(args)
|
||||
|
||||
rows = Categorias.select().where(
|
||||
Categorias.categoria=='Productos', Categorias.padre.is_null(True)).exists()
|
||||
print (rows)
|
||||
return
|
||||
|
||||
|
||||
|
@ -5141,7 +5181,7 @@ def main(iniciar_bd, migrar_bd, nuevo_superusuario, cambiar_contraseña, rfc,
|
|||
sys.exit(0)
|
||||
|
||||
if opt['migrar_bd']:
|
||||
migrate_tables()
|
||||
_migrate_tables()
|
||||
sys.exit(0)
|
||||
|
||||
if opt['nuevo_superusuario']:
|
||||
|
|
Loading…
Reference in New Issue