Truncation in Sequel + PostgreSQL doesn't restart sequences
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 38/100
調査の方向性
まず lib/database_cleaner/sequel/truncation.rb の19行目付近を読み、Sequel が切り捨て文をどのように発行しているかを確認します。既存のテスト設定を確認する前に、PostgreSQL のシーケンスリセットの挙動と、互換性に関する期待事項を確認します。連続してテストを実行してもオートインクリメントシーケンスがリセットされ、サポート対象の挙動を壊さないことが完了条件です。
索引モデルが issue の本文から書いたものです。
説明
All the tables are properly truncated, but consecutive test runs start auto-incremented sequences where they left off, instead of back at 1.
In lib/database_cleaner/sequel/truncation.rb, changing line 19:
db.run "TRUNCATE TABLE #{all_tables};"
to
db.run "TRUNCATE TABLE #{all_tables} RESTART IDENTITY;"
resolves the issue, but I suppose that could raise some compatibility issues with certain versions of PostgreSQL.
This seems like it would be a fairly simple PR, but I would rather get some insight from the maintainers first as I'm not at all familiar with this codebase. Thanks!
- 主要言語
- Ruby
- スター
- 19
- フォーク
- 11
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
DatabaseCleaner/database_cleaner-sequel のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 38/100
DatabaseCleaner/database_cleaner-sequel#28 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
DatabaseCleaner/database_cleaner-sequel#23 · リアクション 2 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 38/100
DatabaseCleaner/database_cleaner-sequel#18 · コメント 4 件 · リアクション 3 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
DatabaseCleaner/database_cleaner-sequel#2 · コメント 5 件 · リアクション 2 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
DatabaseCleaner/database_cleaner-sequel#3 · コメント 3 件 ·
DatabaseCleaner/database_cleaner-sequel の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
googleapis/google-api-ruby-client#28001 · リアクション 5 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100