开发者

Alter database to match model

开发者_运维技巧

Originally, I used Data Modelling in MySQL Workbench to design a database consisting of a series of tables (i.e. the columns and relationships).

Then using Database -> Forward Engineer, I created a database, and inserted data into the tables.

Now I've realised that the model I've designed needs some changes, and so I've altered some tables by inserted columns. My question is, how do I get MySQL Workbench to alter the tables?

Using Database -> Synchronize Model, Update Source just generates a bunch of CREATE TABLE IF NOT EXISTS sql statements, and as the tables exist, nothing changes.


What you are looking for is in the model menu Database / Synchronize model.


As I couldn't get get File -> Export -> Forward Engineer SQL ALTER Script to work, so I made a backup of the data, dropped the tables, recreated them, and then imported the data. I'd rather find a way to get MySQL Workbench to generate ALTER commands from the changes in my model


The 2011 answer is no longer up to date. I struggled to find the option in a recent version. Here is the new procedure (works for MySQLWorkbench 6.2 at least):

When you have finished editing your model, open Database -> Synchronize with Any Source

In the step Select Source you have 3 parts

  • Source : choose Model Schemadata
  • Destination : choose Live Database Server
  • Send updates to : choose whether the live database should be updated or if you only want to saves the changes to a .sql file

Proceed in the wizard, you can then review the tables and sql queries that will be executed. You can also ignore the update of some tables.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜