This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 270986

Summary: external changes to a MySQL database schema does not reflect on NetBeans database explorer under databases > connection > jdbc:mysql://localhost:3306/database_name
Product: ide Reporter: qualebs
Component: Schema2BeansAssignee: schema2beans-issues@ide <schema2beans-issues>
Status: NEW ---    
Severity: normal    
Priority: P3    
Version: 8.1   
Hardware: PC   
OS: Linux   
Issue Type: DEFECT Exception Reporter:
Attachments: create such a db using MySQL workbench

Description qualebs 2017-06-28 05:12:08 UTC
Created attachment 164645 [details]
create such a db using MySQL workbench

If an external change is made to a database in mysql registered in NetBeans, the change does not reflect in the database explorer in the services window under MySQL connection.
Deleting the .cache directory didn't seem to fix the issue. At some point in the future the changes do reflect.

To reproduce the problem, create a db

Now if I change departments and alter column dept_name to to varchar(100)
When I disconnect the connection to SampleEmployees and then reconnect. Hovering the cursor over dept_name still shows the sample field size VARCHAR(40) instead of VARCHAR(100).

Also creating EntityBeans from database will also create annotations as the one below


    @Size(max = 40)
    @Column(name = "dept_name")

instead of 

    @Size(max = 100)
    @Column(name = "dept_name")

I think something in the cached data or metadata might not be evicted when needed but for some reason this eventually fixes itself. What I need is how to trigger this change by myself on demand. Thank you in advance
Comment 1 Adeel 2018-04-19 08:20:44 UTC
If you make changes to trigger(s) and Netbeans will not reflect those changes, no matter how long it takes. The person whom reported the bug said "At some point in the future the changes do reflect." this is not the case with atleast trigger(s). Even if the trigger is now in another schema (another database) it will still show in previous schema with the initial body. 

Deleting the connection will not do anything.
Comment 2 Adeel 2018-04-19 08:31:16 UTC
By "it will still show in previous schema with the initial body." I means when you edit the trigger its SQL code will be

 previous_schema.trigger_name

To reproduce this problem

Just create a trigger on a table (e.g on insert )
Then make some change to the body of the trigger. e.g add some custom filter i.e.
add IF ELSE
Now when you edit the trigger it will show SQL code of not the updated trigger body instead it will show the previous trigger code.

deleting and recreate the database connection will not refresh the code either.