java - Add column to Join table? -


i having trouble adding column existing join table. below how want join table like, missing tenant_id column in join table in actual implementation.

database schema

below code jpa implementation:

@entity @table(name = "label") public class label {     @column(name = "tenant_id")     private string tenant_id;      @column(name = "label_id")     private string label_id;      @jsonignore     @manytomany(targetentity = report.class, cascade = { cascadetype.persist, cascadetype.merge })     @jointable(name = "tagging", joincolumns = @joincolumn(name = "label_id"), inversejoincolumns = @joincolumn(name = "report_id"))     private set<report> reports; }  @entity @table(name = "report") public class report {     @column(name = "tenant_id")     private string tenant_id;      @column(name = "report_id")     private string report_id;      @column(name = "created_by")     private string created_by;      @jsonignore     @manytomany(targetentity = label.class, cascade = { cascadetype.persist, cascadetype.merge })     @jointable(name = "tagging", joincolumns = @joincolumn(name = "report_id"), inversejoincolumns = @joincolumn(name = "label_id"))     private set<label> labels;  } 

and code puts id of report class , label class tagging table in place of report_id , label_id columns respectively. issue i'm having want add tenant_id column every existing entry in tagging table. tried

alter table tagging add column tenant_id varchar(255) not null;

but because have pre-existing data, error saying tenant_id must have default value. want somehow update every tagging table following:

select tenant_id report report.id = tagging.report_id, , perform update moment values in database populated/created. there way this? appreciated. thanks!

i'm not sure, did understand problem properly. if need add tenant_id , fill can next.

first, add new column default null:

alter table tagging add column tenant_id varchar(255) default null; 

second, update tenant_id:

update tagging t set t.tenant_id = (select r.tenant_id report r r.id = t.report_id); 

third, modify tagging table constraint:

alter table tagging modify column tenant_id varchar(255) not null; 

note, must sure, report table not containg null value in tenant_id column.


Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -