Betriebssicherheit: Sperre gegen parallele Läufe, Upsert, Batch-Schreiben für Postgres, Zeichensatz für CSV
This commit is contained in:
@@ -92,4 +92,15 @@ class SqliteStorageTest < PipelineTest
|
||||
assert_equal 'Deutschland', names['DE']['name']
|
||||
end
|
||||
end
|
||||
|
||||
def test_upsert_with_created_unique_index
|
||||
with_tmpdir do |dir|
|
||||
writer = DataPipeline::SqliteStorage.new(database: "#{dir}/u.sqlite3", table: 'u', create: true, upsert: %w[belnr])
|
||||
writer.write([{ 'belnr' => 'A', 'betrag' => 1.0 }, { 'belnr' => 'B', 'betrag' => 2.0 }])
|
||||
writer.write([{ 'belnr' => 'A', 'betrag' => 5.0 }])
|
||||
writer.write_row({ 'belnr' => 'B' })
|
||||
assert_equal [['A', 5.0], ['B', 2.0]], writer.query(query: 'select belnr, betrag from u order by belnr').map(&:values)
|
||||
writer.close
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user