• このエントリーをはてなブックマークに追加

はじめに

We’re happy to announce the availability of the next Alpha release of MySQL Workbench 5.2. There have been further improvements to the querying part and we added the foundations for the administration part (which will be onboard in the next alpha).
MySQL Workbench » Blog Archive » MySQL Workbench 5.2.3 Alpha Available

Macを始めてから使い始めたデータベース(というかMySQL?)のモデリングツール「MySQL Workbench」ですが,9月16日に 5.2.3 Alpha がリリースされました.

私の場合,ER図を書いてそれ基にSQLを生成して...くらいしか使っていませんが,5.2.2 Alphaでは...

テーブル定義で間違えてカラム追加した場合に、削除できないのは-1000000点
Odyssey » DB DesignerとMySQL WorkbenchとToad Data ModelerとClayと

こんな残念な症状もあり,次のリリースを待っていたところでした.5.2.3 Alpha では無事解決されています.

ところが,上記のような狭い使用範囲内でまたひとつ不具合っぽいものが.しかも 5.2.2 Alpha では正常だった部分です.

MySQL Workbench 5.2.3alpha,CREATE TABLE文生成時に閉じ括弧が抜けてなくね?
Twitter / IWATA, Susumu : MySQL Workbench 5.2.3alpha …

以下,どんな感じになるのかを.

あ,ちなみに「for Mac OS」で確認しています.

テーブル

2009-09-25-01 on Flickr

ごくシンプルなテーブルをテキトーに作ります.

Copy SQL to Clipboard

ss-2009-09-25-02 on Flickr

Ctrl+クリック(右クリック@Windows)メニューの「Copy SQL to Clipboard」を実行して,貼り付けたものが次です.

CREATE  TABLE IF NOT EXISTS `hoge`.`fuga` (
  `fuga_id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `name` VARCHAR(64) NOT NULL ,
  `foo` INT NOT NULL DEFAULT 0 ,
  `bar` INT NOT NULL DEFAULT 0 ,
  `baz` INT NOT NULL DEFAULT 0 ,
  PRIMARY KEY (`fuga_id`) 
ENGINE = MyISAM

Forward Engineering

ss-2009-09-25-03 on Flickr

「Database」メニューの「Forward Engineer…」を実行して,最終的にできあがるSQLが次です.

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
 
CREATE SCHEMA IF NOT EXISTS `hoge` DEFAULT CHARACTER SET utf8 ;
USE `hoge`;
 
-- -----------------------------------------------------
-- Table `hoge`.`fuga`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `hoge`.`fuga` (
  `fuga_id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `name` VARCHAR(64) NOT NULL ,
  `foo` INT NOT NULL DEFAULT 0 ,
  `bar` INT NOT NULL DEFAULT 0 ,
  `baz` INT NOT NULL DEFAULT 0 ,
  PRIMARY KEY (`fuga_id`) 
ENGINE = MyISAM;
 
 
 
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

おわりに

閉じ括弧,抜けてます...よね.

他のSQL文については未検証です.

おまけ

XPathGraphでこんなの作ってみたけど値うまくとれますかね><