2016-02-03
Otogiri 0.17 をリリースしてもらいました
標記の通りで、Otogiri 0.17がリリースされました。主な変更は、僕が出したこの p-r(insert/fast_insert returns last_insert_id #15)でして、 insert()
と fast_insert()
の戻り値を、従来の(あまり使われていなかった) $dbh->execute()
の結果から、 last_insert_id()
に変更しています。
これは非互換といえば非互換ですが、元の挙動を当てにしたコードはおそらく無いと思いますし、何より、
$db->insert('table_1', $table1_data);
my $table_1_id = $db->last_insert_id();
$db->insert('table_2', { table_1_id => $table_1_id, other_data1 => 'hogehoge' });
my $table_2_id = $db->last_insert_id();
$db->insert('table_3', { table_2_id => $table_2_id, other_data2 => 'fugafuga' });
my $table_3_id = $db->last_insert_id();
...
みたいな感じで、自動採番してるテーブルにいっぱい insert するようなスクリプトが、とても書きやすくなったと思うので、便利になったんじゃないかなぁ、と思います。 よろしくお使いください。
(追記 2016-02-04)
これだけだと、どのくらい嬉しいのかが分かりにくいかも。上記のコードがこうなります。
my $table_1_id = $db->insert('table_1', $table1_data);
my $table_2_id = $db->insert('table_2', { table_1_id => $table_1_id, other_data1 => 'hogehoge' });
my $table_3_id = $db->insert('table_3', { table_2_id => $table_2_id, other_data2 => 'fugafuga' });
...
insert をいっぱいやるスクリプトだと、結構分かりやすくなって良いのではないかな、と思います。よろしくお使いください。