Migracion para Usuarios

This commit is contained in:
Mauricio Baeza 2017-12-27 01:12:58 -06:00
parent c7e4febb0c
commit 12bac7d8a6
1 changed files with 46 additions and 6 deletions

View File

@ -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']: