using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace Modelo.Migrations { /// public partial class initialmigration : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Categoria", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Descripcion = table.Column(type: "TEXT", maxLength: 50, nullable: false) }, constraints: table => { table.PrimaryKey("PK_Categoria", x => x.Id); }); migrationBuilder.CreateTable( name: "Clientes", columns: table => new { Cuit = table.Column(type: "INTEGER", nullable: false), Nombre = table.Column(type: "TEXT", maxLength: 30, nullable: false), Apellido = table.Column(type: "TEXT", maxLength: 30, nullable: false), Direccion = table.Column(type: "TEXT", maxLength: 50, nullable: false), Correo = table.Column(type: "TEXT", maxLength: 150, nullable: false), Habilitado = table.Column(type: "INTEGER", nullable: false, defaultValue: true) }, constraints: table => { table.PrimaryKey("PK_Clientes", x => x.Cuit); }); migrationBuilder.CreateTable( name: "Producto", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Nombre = table.Column(type: "TEXT", maxLength: 30, nullable: false), Precio = table.Column(type: "float", nullable: false), Habilitado = table.Column(type: "INTEGER", nullable: false, defaultValue: true), EsPerecedero = table.Column(type: "INTEGER", nullable: false), Discriminator = table.Column(type: "TEXT", maxLength: 21, nullable: false), TipoDeEnvase = table.Column(type: "TEXT", nullable: true), MesesHastaConsumoPreferente = table.Column(type: "INTEGER", nullable: true), MesesHastaVencimiento = table.Column(type: "INTEGER", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Producto", x => x.Id); }); migrationBuilder.CreateTable( name: "Proveedores", columns: table => new { Cuit = table.Column(type: "INTEGER", nullable: false), Nombre = table.Column(type: "TEXT", maxLength: 30, nullable: false), RazonSocial = table.Column(type: "TEXT", maxLength: 60, nullable: false), Direccion = table.Column(type: "TEXT", maxLength: 60, nullable: false), Habilitado = table.Column(type: "INTEGER", nullable: false, defaultValue: true) }, constraints: table => { table.PrimaryKey("PK_Proveedores", x => x.Cuit); }); migrationBuilder.CreateTable( name: "Facturas", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Total = table.Column(type: "REAL", nullable: false), Fecha = table.Column(type: "TEXT", nullable: false), IdCliente = table.Column(type: "INTEGER", nullable: false), ClienteCuit = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Facturas", x => x.Id); table.ForeignKey( name: "FK_Facturas_Clientes_ClienteCuit", column: x => x.ClienteCuit, principalTable: "Clientes", principalColumn: "Cuit", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "ProductoCategoria", columns: table => new { CategoriaId = table.Column(type: "INTEGER", nullable: false), ProductoId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_ProductoCategoria", x => new { x.CategoriaId, x.ProductoId }); table.ForeignKey( name: "FK_ProductoCategoria_Categoria_CategoriaId", column: x => x.CategoriaId, principalTable: "Categoria", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_ProductoCategoria_Producto_ProductoId", column: x => x.ProductoId, principalTable: "Producto", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "OrdenDeCompras", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), ProveedorCuit = table.Column(type: "INTEGER", nullable: false), IdProveedor = table.Column(type: "INTEGER", nullable: false), Entregado = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_OrdenDeCompras", x => x.Id); table.ForeignKey( name: "FK_OrdenDeCompras_Proveedores_ProveedorCuit", column: x => x.ProveedorCuit, principalTable: "Proveedores", principalColumn: "Cuit", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Presupuestos", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Fecha = table.Column(type: "TEXT", nullable: false), Habilitado = table.Column(type: "INTEGER", nullable: false), Aceptado = table.Column(type: "INTEGER", nullable: false), ProveedorCuit = table.Column(type: "INTEGER", nullable: false), IdProveedor = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Presupuestos", x => x.Id); table.ForeignKey( name: "FK_Presupuestos_Proveedores_ProveedorCuit", column: x => x.ProveedorCuit, principalTable: "Proveedores", principalColumn: "Cuit", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "ProductoProveedor", columns: table => new { ProveedorId = table.Column(type: "INTEGER", nullable: false), ProductoId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_ProductoProveedor", x => new { x.ProveedorId, x.ProductoId }); table.ForeignKey( name: "FK_ProductoProveedor_Producto_ProductoId", column: x => x.ProductoId, principalTable: "Producto", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_ProductoProveedor_Proveedores_ProveedorId", column: x => x.ProveedorId, principalTable: "Proveedores", principalColumn: "Cuit", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Remitos", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), ProveedorCuit = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Remitos", x => x.Id); table.ForeignKey( name: "FK_Remitos_Proveedores_ProveedorCuit", column: x => x.ProveedorCuit, principalTable: "Proveedores", principalColumn: "Cuit", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "DetallesFacturas", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false), IdFactura = table.Column(type: "INTEGER", nullable: false), Cantidad = table.Column(type: "INTEGER", nullable: false), ProductoId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_DetallesFacturas", x => new { x.Id, x.IdFactura }); table.ForeignKey( name: "FK_DetallesFacturas_Facturas_IdFactura", column: x => x.IdFactura, principalTable: "Facturas", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_DetallesFacturas_Producto_ProductoId", column: x => x.ProductoId, principalTable: "Producto", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "DetalleOrdenDeCompras", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false), IdOrdenDeCompra = table.Column(type: "INTEGER", nullable: false), MontoCU = table.Column(type: "REAL", nullable: false), IdPresupuesto = table.Column(type: "INTEGER", nullable: false), Cantidad = table.Column(type: "INTEGER", nullable: false), ProductoId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_DetalleOrdenDeCompras", x => new { x.Id, x.IdOrdenDeCompra }); table.ForeignKey( name: "FK_DetalleOrdenDeCompras_OrdenDeCompras_IdOrdenDeCompra", column: x => x.IdOrdenDeCompra, principalTable: "OrdenDeCompras", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_DetalleOrdenDeCompras_Producto_ProductoId", column: x => x.ProductoId, principalTable: "Producto", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "DetallePresupuestos", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false), IdPresupuesto = table.Column(type: "INTEGER", nullable: false), MontoCUPropuesto = table.Column(type: "REAL", nullable: false), Cantidad = table.Column(type: "INTEGER", nullable: false), ProductoId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_DetallePresupuestos", x => new { x.Id, x.IdPresupuesto }); table.ForeignKey( name: "FK_DetallePresupuestos_Presupuestos_IdPresupuesto", column: x => x.IdPresupuesto, principalTable: "Presupuestos", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_DetallePresupuestos_Producto_ProductoId", column: x => x.ProductoId, principalTable: "Producto", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Lotes", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false), IdRemito = table.Column(type: "INTEGER", nullable: false), Fecha = table.Column(type: "TEXT", nullable: false), Habilitado = table.Column(type: "INTEGER", nullable: false), Cantidad = table.Column(type: "INTEGER", nullable: false), ProductoId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Lotes", x => new { x.Id, x.IdRemito }); table.ForeignKey( name: "FK_Lotes_Producto_ProductoId", column: x => x.ProductoId, principalTable: "Producto", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_Lotes_Remitos_IdRemito", column: x => x.IdRemito, principalTable: "Remitos", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_DetalleOrdenDeCompras_IdOrdenDeCompra", table: "DetalleOrdenDeCompras", column: "IdOrdenDeCompra"); migrationBuilder.CreateIndex( name: "IX_DetalleOrdenDeCompras_ProductoId", table: "DetalleOrdenDeCompras", column: "ProductoId"); migrationBuilder.CreateIndex( name: "IX_DetallePresupuestos_IdPresupuesto", table: "DetallePresupuestos", column: "IdPresupuesto"); migrationBuilder.CreateIndex( name: "IX_DetallePresupuestos_ProductoId", table: "DetallePresupuestos", column: "ProductoId"); migrationBuilder.CreateIndex( name: "IX_DetallesFacturas_IdFactura", table: "DetallesFacturas", column: "IdFactura"); migrationBuilder.CreateIndex( name: "IX_DetallesFacturas_ProductoId", table: "DetallesFacturas", column: "ProductoId"); migrationBuilder.CreateIndex( name: "IX_Facturas_ClienteCuit", table: "Facturas", column: "ClienteCuit"); migrationBuilder.CreateIndex( name: "IX_Lotes_IdRemito", table: "Lotes", column: "IdRemito"); migrationBuilder.CreateIndex( name: "IX_Lotes_ProductoId", table: "Lotes", column: "ProductoId"); migrationBuilder.CreateIndex( name: "IX_OrdenDeCompras_ProveedorCuit", table: "OrdenDeCompras", column: "ProveedorCuit"); migrationBuilder.CreateIndex( name: "IX_Presupuestos_ProveedorCuit", table: "Presupuestos", column: "ProveedorCuit"); migrationBuilder.CreateIndex( name: "IX_ProductoCategoria_ProductoId", table: "ProductoCategoria", column: "ProductoId"); migrationBuilder.CreateIndex( name: "IX_ProductoProveedor_ProductoId", table: "ProductoProveedor", column: "ProductoId"); migrationBuilder.CreateIndex( name: "IX_Remitos_ProveedorCuit", table: "Remitos", column: "ProveedorCuit"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "DetalleOrdenDeCompras"); migrationBuilder.DropTable( name: "DetallePresupuestos"); migrationBuilder.DropTable( name: "DetallesFacturas"); migrationBuilder.DropTable( name: "Lotes"); migrationBuilder.DropTable( name: "ProductoCategoria"); migrationBuilder.DropTable( name: "ProductoProveedor"); migrationBuilder.DropTable( name: "OrdenDeCompras"); migrationBuilder.DropTable( name: "Presupuestos"); migrationBuilder.DropTable( name: "Facturas"); migrationBuilder.DropTable( name: "Remitos"); migrationBuilder.DropTable( name: "Categoria"); migrationBuilder.DropTable( name: "Producto"); migrationBuilder.DropTable( name: "Clientes"); migrationBuilder.DropTable( name: "Proveedores"); } } }