Boa tarde!
Não estou conseguindo configurar a ligação entre o import SQL que tenho no Spring, com PostgreSLQ e criar a tabela no banco de dados associada com Spring.
Segue configuração realizada:
Boa tarde!
Não estou conseguindo configurar a ligação entre o import SQL que tenho no Spring, com PostgreSLQ e criar a tabela no banco de dados associada com Spring.
Segue configuração realizada:
Dá algum erro?
Evite postar imagens do código. Sempre que puder, poste o código diretamente, pq fica muito mais fácil de ajudar.
Bom dia!
A aplicação roda sem nenhum erro, mas não cria a tabela no postgresql.
Para que as tabelas sejam criadas de acordo com o modelo, no application.yml (ou properties) deve estar assim:
spring.jpa.hibernate.ddl-auto=create
e o seu está como none.
coloquei create mas não criou a tabela.
Também tem o import da tabela - import.sql
Com H2 rodou normalmente.
[application-devs.properties|
#spring.jpa.properties.javax.persistence.schema-generation.create-source=metadata
#spring.jpa.properties.javax.persistence.schema-generation.scripts.action=create
#spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target=create.sql
#spring.jpa.properties.hibernate.hbm2ddl.delimiter=;
spring.datasource.url=jdbc:postgresql://localhost:5432/dsmovie
spring.datasource.username=postgres
spring.datasource.password=1234567
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.hibernate.ddl-auto=none
[application-prod.properties|
spring.datasource.url=${DATABASE_URL}
[system.properties|
java.runtime.version=17
Conforme vc informou coloquei mas não rodou.
spring.jpa.hibernate.ddl-auto=create
pom.xml
org.postgresql
postgresql
runtime
Tava lendo a documentação e, na verdade, a propriedade deve ser configurada assim:
spring.jpa.generate-ddl=true // pelo que entendi, precisa dessa propriedade como true também
spring.jpa.hibernate.ddl-auto=update
FONTE: 59. Database initialization
coloquei essas propriedades mas não criou.
Olhei no projeto backend foi criado um arquivo create.sql.
Será que tem que importar esse arquivo no spring boot ?
Estou dando refresh no postgresql, ou tem que configurar alguma coisa ?
Tabelas para rodar no postgresql:
create table tb_movie (id bigserial not null, count int4, image varchar(255), score float8, title varchar(255), primary key (id));
create table tb_score (value float8, movie_id int8 not null, user_id int8 not null, primary key (movie_id, user_id));
create table tb_user (id bigserial not null, email varchar(255), primary key (id));
alter table tb_score add constraint FK23yhb6qop0f6hnb72hcorm3cv foreign key (movie_id) references tb_movie;
alter table tb_score add constraint FKl8lgmbrjoav0thqqtqx6vrr4k foreign key (user_id) references tb_user;
INSERT INTO tb_user(email) VALUES (‘maria@gmail.com’);
INSERT INTO tb_user(email) VALUES (‘joao@gmail.com’);
INSERT INTO tb_user(email) VALUES (‘ana@gmail.com’);
INSERT INTO tb_user(email) VALUES (‘lucia@gmail.com’);
INSERT INTO tb_user(email) VALUES (‘joaquim@gmail.com’);
INSERT INTO tb_movie(score, count, title, image) VALUES (4.5, 2, ‘The Witcher’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/jBJWaqoSCiARWtfV0GlqHrcdidd.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (3.3, 3, ‘Venom: Tempo de Carnificina’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/vIgyYkXkg6NC2whRbYjBD7eb3Er.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘O Espetacular Homem-Aranha 2: A Ameaça de Electro’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/u7SeO6Y42P7VCTWLhpnL96cyOqd.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Matrix Resurrections’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/hv7o3VgfsairBoQFAawgaQ4cR1m.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Shang-Chi e a Lenda dos Dez Anéis’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/cinER0ESG0eJ49kXlExM0MEWGxW.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Django Livre’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/2oZklIzUbvZXXzIFzv7Hi68d6xf.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Titanic’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/yDI6D5ZQh67YU4r2ms8qcSbAviZ.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘O Lobo de Wall Street’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/cWUOv3H7YFwvKeaQhoAQTLLpo9Z.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Aves de Rapina: Arlequina e sua Emancipação Fantabulosa’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/jiqD14fg7UTZOT6qgvzTmfRYpWI.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Rogue One: Uma História Star Wars’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/6t8ES1d12OzWyCGxBeDYLHoaDrT.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Star Wars: A Guerra dos Clones’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/uK15I3sGd8AudO9z6J6vi0HH1UU.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Star Wars: Episódio I - A Ameaça Fantasma’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/36LnijfQCOC89rCMOhn2OINXROI.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Vingadores: Ultimato’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/7RyHsO4yDXtBv1zUU3mTpHeQ0d5.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Thor’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/cDJ61O1STtbWNBwefuqVrRe3d7l.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Cisne Negro’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/hqh5O4KssfJWI62HGAgrjHXbxhD.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘O Silêncio dos Inocentes’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/mfwq2nMBzArzQ7Y9RKE8SKeeTkg.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Clube da Luta’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/hZkgoQYus5vegHoetLkCJzb17zJ.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Guerra Mundial Z’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/31VpBgUX5O4Z3dn5ZbX8HLqoXH3.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Harry Potter e as RelÃquias da Morte - Parte 1’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/vcrgU0KaNj5mKUCIQSUdiQwTE9y.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Harry Potter e a Pedra Filosofal’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/lvOLivVeX3DVVcwfVkxKf0R22D8.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Alice no PaÃs das Maravilhas’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/qNdlZgz9yoSJ8f0YxQWfKGPoVV.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Animais Fantásticos e Onde Habitam’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/8Qsr8pvDL3s1jNZQ4HK1d1Xlvnh.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘A Teoria de Tudo’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/kq2MHrRfH6RTfkvyDEmYLmGHE6U.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘O Livro de Boba Fett’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/sjx6zjQI2dLGtEL0HGWsnq6UyLU.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘O Último Duelo’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/4LrL40XecjGLRpX5I2gzMTUt04l.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Interestelar’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/rAiYTfKGqDCRIIqo664sY9XZIvQ.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Contato’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/yFkUPqBuUnbhYbQL8VFpTrAT9za.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Duna’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/jYEW5xZkZk2WTrdbMGAPFuBqbDc.jpg’);
INSERT INTO tb_movie(score, count, title, image) VALUES (0, 0, ‘Aquaman’, ‘https://www.themoviedb.org/t/p/w533_and_h300_bestv2/2cUsDz4TzFYHrKktT1bKHHQ7Cgm.jpg’);
INSERT INTO tb_score(movie_id, user_id, value) VALUES (1, 1, 5.0);
INSERT INTO tb_score(movie_id, user_id, value) VALUES (1, 2, 4.0);
INSERT INTO tb_score(movie_id, user_id, value) VALUES (2, 1, 3.0);
INSERT INTO tb_score(movie_id, user_id, value) VALUES (2, 2, 3.0);
INSERT INTO tb_score(movie_id, user_id, value) VALUES (2, 3, 4.0);
Criar pelo JPA e pelo Spring são coisas diferentes.
As propriedades que passei são para criar pelo JPA, que nem vai tomar conhecimento desse arquivo SQL.
Já esse arquivo SQL é usado pelo Spring. No link que passei tem uma parte que explica mais sobre,veja: 59.3 Initialize a database using Spring JDBC
Entendi, mas com as propriedades do JPA não criou.
Tem que configurar alguma coisa no database, para subir a tabela?
Porque só estou fazendo refresh no postgre.
criei o database dsmovie, iqual está no arquivo de configuração.
Qdo fiz isso, apenas tinha o schema criado lah no postgresql msm.
só tem um banco que criei dsmovie
no schema na tabela fiz refresh
Lucas boa noite,
Então consegui, fiz o import da tabela manualmente no posgresql e coloquei no arquivo de configuração application.properties|attachment import desse cara, spring.profiles.active=devs.
Estava subindo o banco de dados errado.
Obrigado pelo apoio!!
Posta os logs do spring-boot para vermos se ele está carregando os beans necessários? Você incluiu as dependências necessárias? Essas configurações são estão de acordo com a versão do Spring que estás usando?
Eu consegui!! Configurei o properties com parâmetro correto, e inseri as tabelas no Postgresql.
Obrigado pelo apoio.