From 8b13d4b2a5d86176fe3bb95da6b02a1d31de480c Mon Sep 17 00:00:00 2001 From: Javier Date: Sun, 21 Mar 2021 21:11:08 +0100 Subject: [PATCH 1/3] Entidades con error OneToOne en Users y Authorities --- .../cheapy/model/Authorities.java | 37 +++++++ .../springframework/cheapy/model/Client.java | 94 ++++++++++++++++++ .../cheapy/model/FoodOffer.java | 59 ++++++++++++ .../springframework/cheapy/model/NuOffer.java | 96 +++++++++++++++++++ .../springframework/cheapy/model/Offer.java | 85 ++++++++++++++++ .../cheapy/model/SpeedOffer.java | 96 +++++++++++++++++++ .../cheapy/model/StatusOffer.java | 5 + .../cheapy/model/TimeOffer.java | 48 ++++++++++ .../springframework/cheapy/model/User.java | 59 ++++++++++++ 9 files changed, 579 insertions(+) create mode 100644 src/main/java/org/springframework/cheapy/model/Authorities.java create mode 100644 src/main/java/org/springframework/cheapy/model/Client.java create mode 100644 src/main/java/org/springframework/cheapy/model/FoodOffer.java create mode 100644 src/main/java/org/springframework/cheapy/model/NuOffer.java create mode 100644 src/main/java/org/springframework/cheapy/model/Offer.java create mode 100644 src/main/java/org/springframework/cheapy/model/SpeedOffer.java create mode 100644 src/main/java/org/springframework/cheapy/model/StatusOffer.java create mode 100644 src/main/java/org/springframework/cheapy/model/TimeOffer.java create mode 100644 src/main/java/org/springframework/cheapy/model/User.java diff --git a/src/main/java/org/springframework/cheapy/model/Authorities.java b/src/main/java/org/springframework/cheapy/model/Authorities.java new file mode 100644 index 000000000..7a46d8d28 --- /dev/null +++ b/src/main/java/org/springframework/cheapy/model/Authorities.java @@ -0,0 +1,37 @@ +package org.springframework.cheapy.model; + +import javax.persistence.Entity; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToOne; +import javax.persistence.Table; +import javax.validation.constraints.Size; + +@Entity +@Table(name = "authorities") +public class Authorities extends BaseEntity { + + @OneToOne + @JoinColumn(name = "username") + User user; + + @Size(min = 3, max = 50) + String authority; + + public User getUser() { + return user; + } + + public void setUser(User user) { + this.user = user; + } + + public String getAuthority() { + return authority; + } + + public void setAuthority(String authority) { + this.authority = authority; + } + +} diff --git a/src/main/java/org/springframework/cheapy/model/Client.java b/src/main/java/org/springframework/cheapy/model/Client.java new file mode 100644 index 000000000..06268c32a --- /dev/null +++ b/src/main/java/org/springframework/cheapy/model/Client.java @@ -0,0 +1,94 @@ +package org.springframework.cheapy.model; + +import java.util.Set; + +import javax.persistence.Entity; +import javax.persistence.OneToMany; +import javax.persistence.Table; +import javax.validation.constraints.Digits; +import javax.validation.constraints.NotEmpty; + +@Entity +@Table(name = "clients") +public class Client extends User { + + @NotEmpty + private String address; + + @NotEmpty + private String timetable; + + @NotEmpty + @Digits(fraction = 0, integer = 10) + private String telephone; + + @NotEmpty + private String description; + + @NotEmpty + private String code; + + @NotEmpty + private String food; + + @OneToMany + private Set foodOffers; + + @OneToMany + private Set nuOffers; + + @OneToMany + private Set speedOffers; + + @OneToMany + private Set timeOffers; + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getTimetable() { + return timetable; + } + + public void setTimetable(String timetable) { + this.timetable = timetable; + } + + public String getTelephone() { + return telephone; + } + + public void setTelephone(String telephone) { + this.telephone = telephone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getFood() { + return food; + } + + public void setFood(String food) { + this.food = food; + } + +} \ No newline at end of file diff --git a/src/main/java/org/springframework/cheapy/model/FoodOffer.java b/src/main/java/org/springframework/cheapy/model/FoodOffer.java new file mode 100644 index 000000000..b82fed73b --- /dev/null +++ b/src/main/java/org/springframework/cheapy/model/FoodOffer.java @@ -0,0 +1,59 @@ +/* + * Copyright 2012-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.cheapy.model; + +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.validation.constraints.NotBlank; + +@Entity +@Table(name = "food_offers") +public class FoodOffer extends Offer { + + @NotBlank + private String food; + + @NotBlank + private String discount; + + @NotBlank + private Integer units; // revisar + + public String getFood() { + return food; + } + + public void setFood(String food) { + this.food = food; + } + + public String getDiscount() { + return discount; + } + + public void setDiscount(String discount) { + this.discount = discount; + } + + public Integer getUnits() { + return units; + } + + public void setUnits(Integer units) { + this.units = units; + } + +} \ No newline at end of file diff --git a/src/main/java/org/springframework/cheapy/model/NuOffer.java b/src/main/java/org/springframework/cheapy/model/NuOffer.java new file mode 100644 index 000000000..05d66a688 --- /dev/null +++ b/src/main/java/org/springframework/cheapy/model/NuOffer.java @@ -0,0 +1,96 @@ +/* + * Copyright 2012-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.cheapy.model; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.validation.constraints.NotBlank; + +@Entity +@Table(name = "nu_offers") +public class NuOffer extends Offer { + + @NotBlank + private Integer gold; + + @Column(name = "discount_gold") + @NotBlank + private String discountGold; + + @NotBlank + private Integer silver; + + @Column(name = "discount_silver") + @NotBlank + private String discountSilver; + + @NotBlank + private Integer bronze; + + @Column(name = "discount_bronze") + @NotBlank + private String discountBronze; + + public Integer getGold() { + return gold; + } + + public void setGold(Integer gold) { + this.gold = gold; + } + + public String getDiscountGold() { + return discountGold; + } + + public void setDiscountGold(String discountGold) { + this.discountGold = discountGold; + } + + public Integer getSilver() { + return silver; + } + + public void setSilver(Integer silver) { + this.silver = silver; + } + + public String getDiscountSilver() { + return discountSilver; + } + + public void setDiscountSilver(String discountSilver) { + this.discountSilver = discountSilver; + } + + public Integer getBronze() { + return bronze; + } + + public void setBronze(Integer bronze) { + this.bronze = bronze; + } + + public String getDiscountBronze() { + return discountBronze; + } + + public void setDiscountBronze(String discountBronze) { + this.discountBronze = discountBronze; + } + +} \ No newline at end of file diff --git a/src/main/java/org/springframework/cheapy/model/Offer.java b/src/main/java/org/springframework/cheapy/model/Offer.java new file mode 100644 index 000000000..520ba5b1b --- /dev/null +++ b/src/main/java/org/springframework/cheapy/model/Offer.java @@ -0,0 +1,85 @@ +/* + * Copyright 2012-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.cheapy.model; + +import java.time.LocalDateTime; + +import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; +import javax.persistence.ManyToOne; +import javax.persistence.MappedSuperclass; +import javax.persistence.Table; +import javax.validation.constraints.Future; +import javax.validation.constraints.NotBlank; + +import org.springframework.format.annotation.DateTimeFormat; + +@MappedSuperclass +public class Offer extends BaseEntity { + + @DateTimeFormat(pattern = "dd/MM/yyyy HH:mm") + @NotBlank + @Future + private LocalDateTime start; + + @DateTimeFormat(pattern = "dd/MM/yyyy HH:mm") + @NotBlank + @Future + private LocalDateTime end; + + @NotBlank + private String code; + + @Enumerated(value = EnumType.STRING) + private StatusOffer type; + + @ManyToOne + private Client client; + + public LocalDateTime getStart() { + return start; + } + + public void setStart(LocalDateTime start) { + this.start = start; + } + + public LocalDateTime getEnd() { + return end; + } + + public void setEnd(LocalDateTime end) { + this.end = end; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public StatusOffer getType() { + return type; + } + + public void setType(StatusOffer type) { + this.type = type; + } + +} diff --git a/src/main/java/org/springframework/cheapy/model/SpeedOffer.java b/src/main/java/org/springframework/cheapy/model/SpeedOffer.java new file mode 100644 index 000000000..0399d4baf --- /dev/null +++ b/src/main/java/org/springframework/cheapy/model/SpeedOffer.java @@ -0,0 +1,96 @@ +/* + * Copyright 2012-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.cheapy.model; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.validation.constraints.NotBlank; + +@Entity +@Table(name = "speed_offers") +public class SpeedOffer extends Offer { + + @NotBlank + private Integer gold; // x minutos + + @Column(name = "discount_gold") + @NotBlank + private String discountGold; + + @NotBlank + private Integer silver; + + @Column(name = "discount_silver") + @NotBlank + private String discountSilver; + + @NotBlank + private Integer bronze; + + @Column(name = "discount_bronze") + @NotBlank + private String discountBronze; + + public Integer getGold() { + return gold; + } + + public void setGold(Integer gold) { + this.gold = gold; + } + + public String getDiscountGold() { + return discountGold; + } + + public void setDiscountGold(String discountGold) { + this.discountGold = discountGold; + } + + public Integer getSilver() { + return silver; + } + + public void setSilver(Integer silver) { + this.silver = silver; + } + + public String getDiscountSilver() { + return discountSilver; + } + + public void setDiscountSilver(String discountSilver) { + this.discountSilver = discountSilver; + } + + public Integer getBronze() { + return bronze; + } + + public void setBronze(Integer bronze) { + this.bronze = bronze; + } + + public String getDiscountBronze() { + return discountBronze; + } + + public void setDiscountBronze(String discountBronze) { + this.discountBronze = discountBronze; + } + +} \ No newline at end of file diff --git a/src/main/java/org/springframework/cheapy/model/StatusOffer.java b/src/main/java/org/springframework/cheapy/model/StatusOffer.java new file mode 100644 index 000000000..b1b0f874b --- /dev/null +++ b/src/main/java/org/springframework/cheapy/model/StatusOffer.java @@ -0,0 +1,5 @@ +package org.springframework.cheapy.model; + +public enum StatusOffer { + active, inactive, hidden +} diff --git a/src/main/java/org/springframework/cheapy/model/TimeOffer.java b/src/main/java/org/springframework/cheapy/model/TimeOffer.java new file mode 100644 index 000000000..05e0e71be --- /dev/null +++ b/src/main/java/org/springframework/cheapy/model/TimeOffer.java @@ -0,0 +1,48 @@ +/* + * Copyright 2012-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.cheapy.model; + +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.validation.constraints.NotBlank; + +@Entity +@Table(name = "time_offers") +public class TimeOffer extends Offer { + + @NotBlank + private String schedule; + + @NotBlank + private String discount; + + public String getSchedule() { + return schedule; + } + + public void setSchedule(String schedule) { + this.schedule = schedule; + } + + public String getDiscount() { + return discount; + } + + public void setDiscount(String discount) { + this.discount = discount; + } + +} \ No newline at end of file diff --git a/src/main/java/org/springframework/cheapy/model/User.java b/src/main/java/org/springframework/cheapy/model/User.java new file mode 100644 index 000000000..0387edd4d --- /dev/null +++ b/src/main/java/org/springframework/cheapy/model/User.java @@ -0,0 +1,59 @@ +package org.springframework.cheapy.model; + +import javax.persistence.Id; +import javax.persistence.MappedSuperclass; +import javax.persistence.OneToOne; +import javax.validation.constraints.Email; +import javax.validation.constraints.NotBlank; + + +@MappedSuperclass +public class User { + + @Id + @NotBlank + String username; + + @NotBlank + String password; + + @Email + @NotBlank + String email; + + @OneToOne + Authorities authority; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Authorities getAuthority() { + return authority; + } + + public void setAuthority(Authorities authority) { + this.authority = authority; + } + +} From 018195af627b12c600466467aab20ef51d68e74d Mon Sep 17 00:00:00 2001 From: Javier Date: Mon, 22 Mar 2021 19:21:44 +0100 Subject: [PATCH 2/3] Entidades creadas --- .../cheapy/model/Authorities.java | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/springframework/cheapy/model/Authorities.java b/src/main/java/org/springframework/cheapy/model/Authorities.java index 7a46d8d28..9631cc8c3 100644 --- a/src/main/java/org/springframework/cheapy/model/Authorities.java +++ b/src/main/java/org/springframework/cheapy/model/Authorities.java @@ -1,31 +1,18 @@ package org.springframework.cheapy.model; import javax.persistence.Entity; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.OneToOne; +import javax.persistence.Id; import javax.persistence.Table; -import javax.validation.constraints.Size; @Entity @Table(name = "authorities") -public class Authorities extends BaseEntity { +public class Authorities { + + @Id + String username; - @OneToOne - @JoinColumn(name = "username") - User user; - - @Size(min = 3, max = 50) String authority; - public User getUser() { - return user; - } - - public void setUser(User user) { - this.user = user; - } - public String getAuthority() { return authority; } From 98a78f15bd455defee00f14f5bc49cc70acd54a1 Mon Sep 17 00:00:00 2001 From: Javier Date: Mon, 22 Mar 2021 20:32:04 +0100 Subject: [PATCH 3/3] Arreglo de entidades y de la configuracion mysql --- .../springframework/cheapy/model/Offer.java | 2 ++ .../cheapy/model/TimeOffer.java | 19 ++++++++------ .../springframework/cheapy/model/User.java | 3 +-- .../resources/application-mysql.properties | 7 ++++++ src/main/resources/application.properties | 25 +++++++++++-------- src/main/resources/db/mysql/data.sql | 25 +++++++++++-------- 6 files changed, 52 insertions(+), 29 deletions(-) diff --git a/src/main/java/org/springframework/cheapy/model/Offer.java b/src/main/java/org/springframework/cheapy/model/Offer.java index 520ba5b1b..4c3921b1b 100644 --- a/src/main/java/org/springframework/cheapy/model/Offer.java +++ b/src/main/java/org/springframework/cheapy/model/Offer.java @@ -20,6 +20,7 @@ import java.time.LocalDateTime; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; +import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.MappedSuperclass; import javax.persistence.Table; @@ -48,6 +49,7 @@ public class Offer extends BaseEntity { private StatusOffer type; @ManyToOne + @JoinColumn(name="client_id") private Client client; public LocalDateTime getStart() { diff --git a/src/main/java/org/springframework/cheapy/model/TimeOffer.java b/src/main/java/org/springframework/cheapy/model/TimeOffer.java index 05e0e71be..7f1d3cc6d 100644 --- a/src/main/java/org/springframework/cheapy/model/TimeOffer.java +++ b/src/main/java/org/springframework/cheapy/model/TimeOffer.java @@ -15,27 +15,32 @@ */ package org.springframework.cheapy.model; +import java.time.LocalDateTime; +import java.time.LocalTime; + import javax.persistence.Entity; import javax.persistence.Table; +import javax.validation.constraints.Future; import javax.validation.constraints.NotBlank; +import org.springframework.format.annotation.DateTimeFormat; + @Entity @Table(name = "time_offers") public class TimeOffer extends Offer { + @DateTimeFormat(pattern = "HH:mm") @NotBlank - private String schedule; + private LocalTime init; + + @DateTimeFormat(pattern = "HH:mm") + @NotBlank + private LocalTime finish; @NotBlank private String discount; - public String getSchedule() { - return schedule; - } - public void setSchedule(String schedule) { - this.schedule = schedule; - } public String getDiscount() { return discount; diff --git a/src/main/java/org/springframework/cheapy/model/User.java b/src/main/java/org/springframework/cheapy/model/User.java index 0387edd4d..9420b0deb 100644 --- a/src/main/java/org/springframework/cheapy/model/User.java +++ b/src/main/java/org/springframework/cheapy/model/User.java @@ -8,9 +8,8 @@ import javax.validation.constraints.NotBlank; @MappedSuperclass -public class User { +public class User extends BaseEntity { - @Id @NotBlank String username; diff --git a/src/main/resources/application-mysql.properties b/src/main/resources/application-mysql.properties index 919a0c3aa..ccc6807c3 100644 --- a/src/main/resources/application-mysql.properties +++ b/src/main/resources/application-mysql.properties @@ -5,3 +5,10 @@ spring.datasource.username=${MYSQL_USER:cheapy} spring.datasource.password=${MYSQL_PASS:cheapy} # SQL is written to be idempotent so this is safe spring.datasource.initialization-mode=always + +spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy +spring.jpa.properties.javax.persistence.schema-generation.drop-source=metadata +# Naming strategy +spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy +# Allows Hibernate to generate SQL optimized for a particular DBMS +spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index fbbc46ce3..c93d5eac7 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,23 +1,30 @@ # database init, supports mysql too -database=h2 -spring.datasource.schema=classpath*:db/${database}/schema.sql -spring.datasource.data=classpath*:db/${database}/data.sql - +database=mysql +#spring.datasource.schema=classpath*:db/${database}/schema.sql +spring.datasource.data=classpath*:db/${database}/data.sql +spring.h2.console.enabled=true +spring.profiles.active=mysql # Web spring.thymeleaf.mode=HTML # JPA -spring.jpa.hibernate.ddl-auto=none -spring.jpa.open-in-view=false +spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.format_sql=true +spring.jpa.properties.javax.persistence.schema-generation.drop-source=script +spring.jpa.properties.javax.persistence.schema-generation.drop-script-source=drop-tables.sql # Internationalization spring.messages.basename=messages/messages + # Views spring.mvc.view.prefix: /WEB-INF/jsp/ spring.mvc.view.suffix: .jsp -# Actuator + +# Actuator / Management +management.endpoints.web.base-path=/manage management.endpoints.web.exposure.include=* # Logging @@ -26,6 +33,4 @@ logging.level.org.springframework=INFO # logging.level.org.springframework.context.annotation=TRACE # Maximum time static resources should be cached -spring.resources.cache.cachecontrol.max-age=12h - -spring.profiles.active=mysql +spring.resources.cache.cachecontrol.max-age=12h \ No newline at end of file diff --git a/src/main/resources/db/mysql/data.sql b/src/main/resources/db/mysql/data.sql index ff7766e22..b7c6309f9 100644 --- a/src/main/resources/db/mysql/data.sql +++ b/src/main/resources/db/mysql/data.sql @@ -1,10 +1,15 @@ -INSERT IGNORE INTO owners VALUES (1, 'George', 'Franklin', '110 W. Liberty St.', 'Madison', '6085551023'); -INSERT IGNORE INTO owners VALUES (2, 'Betty', 'Davis', '638 Cardinal Ave.', 'Sun Prairie', '6085551749'); -INSERT IGNORE INTO owners VALUES (3, 'Eduardo', 'Rodriquez', '2693 Commerce St.', 'McFarland', '6085558763'); -INSERT IGNORE INTO owners VALUES (4, 'Harold', 'Davis', '563 Friendly St.', 'Windsor', '6085553198'); -INSERT IGNORE INTO owners VALUES (5, 'Peter', 'McTavish', '2387 S. Fair Way', 'Madison', '6085552765'); -INSERT IGNORE INTO owners VALUES (6, 'Jean', 'Coleman', '105 N. Lake St.', 'Monona', '6085552654'); -INSERT IGNORE INTO owners VALUES (7, 'Jeff', 'Black', '1450 Oak Blvd.', 'Monona', '6085555387'); -INSERT IGNORE INTO owners VALUES (8, 'Maria', 'Escobito', '345 Maple St.', 'Madison', '6085557683'); -INSERT IGNORE INTO owners VALUES (9, 'David', 'Schroeder', '2749 Blackhawk Trail', 'Madison', '6085559435'); -INSERT IGNORE INTO owners VALUES (10, 'Carlos', 'Estaban', '2335 Independence La.', 'Waunakee', '6085555487'); +INSERT INTO owners VALUES (1, 'Javi', 'Franklin', '110 W. Liberty St.', 'Madison', '6085551023'); +INSERT INTO owners VALUES (2, 'Betty', 'Davis', '638 Cardinal Ave.', 'Sun Prairie', '6085551749'); +INSERT INTO owners VALUES (3, 'Eduardo', 'Rodriquez', '2693 Commerce St.', 'McFarland', '6085558763'); +INSERT INTO owners VALUES (4, 'Harold', 'Davis', '563 Friendly St.', 'Windsor', '6085553198'); +INSERT INTO owners VALUES (5, 'Peter', 'McTavish', '2387 S. Fair Way', 'Madison', '6085552765'); +INSERT INTO owners VALUES (6, 'Jean', 'Coleman', '105 N. Lake St.', 'Monona', '6085552654'); +INSERT INTO owners VALUES (7, 'Jeff', 'Black', '1450 Oak Blvd.', 'Monona', '6085555387'); +INSERT INTO owners VALUES (8, 'Maria', 'Escobito', '345 Maple St.', 'Madison', '6085557683'); +INSERT INTO owners VALUES (9, 'David', 'Schroeder', '2749 Blackhawk Trail', 'Madison', '6085559435'); +INSERT INTO owners VALUES (10, 'Carlos', 'Estaban', '2335 Independence La.', 'Waunakee', '6085555487'); + + +INSERT INTO food_offers(start, end, code, type, client_id, food, discount, units) VALUES ('2021-06-15 12:00:00', '2021-06-16 12:00:00', 'jkhlljk', 'active', null, 'macarrones', '15%', 10); + +INSERT INTO time_offers(start, end, code, type, client_id, init, finish, discount) VALUES ('2021-06-15 12:00:00', '2021-06-16 12:00:00', 'jkhlljk', 'active', null, '12:00:00', '13:00:00', '10%'); \ No newline at end of file