Subscribed unsubscribe Subscribe Subscribe

gitddl 0.03 と sql::translator::parser::mysql

sql::translator::parser::mysql には幾つか食わせられない sql が現状あって

SQL::Translator::Diffで変なdiffが出る問題 | おそらくはそれさえも平凡な日々 に書いてあるのと他に気をつけるのが、

  • 先頭以外のコメント
CREATE TABLE first (
    id INTEGER NOT NULL,
    name VARCHAR(191) -- comment
);
  • partition 文

まぁ、治せばいい見たいな話もあると思ったけど手っ取り早く parse 出来るようにするにはそこだけ削除してみたいなのでもいいかなと思ったので gitddlsql_filter っていう option を取り込んでもらって

$gitddl->sql_filter(sub {
  my $sql = shift;
  $sql =~ s/--.*//g;
  $sql;
});

みたいな感じで parser に食べさせられる sql 文にするようにした