Skip to content

@simonw simonw released this Feb 11, 2020 · 1 commit to master since this release

table.create_index() now works for columns that contain spaces. (#85)

Assets 2
2.3

@simonw simonw released this Feb 8, 2020 · 5 commits to master since this release

table.exists() is now a method, not a property. This was not a documented part of the API before so I’m considering this a non-breaking change. (#83)

Assets 2

@simonw simonw released this Feb 7, 2020 · 7 commits to master since this release

Fixed a bug where .upsert(..., hash_id="pk") threw an error (#84).

Assets 2
2.2

@simonw simonw released this Feb 7, 2020 · 9 commits to master since this release

New feature: sqlite_utils.suggest_column_types([records]) returns the suggested column types for a list of records. See Suggesting column types. (#81).

This replaces the undocumented table.detect_column_types() method.

Assets 2
2.1

@simonw simonw released this Jan 31, 2020 · 12 commits to master since this release

New feature: conversions={...} can be passed to the .insert() family of functions to specify SQL conversions that should be applied to values that are being inserted or updated. See Converting column values using SQL functions. (#77).

Assets 2

@simonw simonw released this Jan 5, 2020 · 15 commits to master since this release

The .upsert() and .upsert_all() methods now raise a sqlite_utils.db.PrimaryKeyRequired exception if you call them without specifying the primary key column using pk= (#73).

Assets 2
2.0

@simonw simonw released this Dec 30, 2019 · 19 commits to master since this release

This release changes the behaviour of upsert. It’s a breaking change, hence 2.0.

The upsert command-line utility and the .upsert() and .upsert_all() Python API methods have had their behaviour altered. They used to completely replace the affected records: now, they update the specified values on existing records but leave other columns unaffected.

See Upserting data using the Python API and Upserting data using the CLI for full details.

If you want the old behaviour - where records were completely replaced - you can use $ sqlite-utils insert ... --replace on the command-line and .insert(..., replace=True) and .insert_all(..., replace=True) in the Python API. See Insert-replacing data using the Python API and Insert-replacing data using the CLI for more.

For full background on this change, see issue #66.

Assets 2
  • 1.12.1
  • 0a0cec3
  • Compare
    Choose a tag to compare
    Search for a tag
  • 1.12.1
  • 0a0cec3
  • Compare
    Choose a tag to compare
    Search for a tag

@simonw simonw released this Nov 7, 2019 · 30 commits to master since this release

Assets 2

@simonw simonw released this Nov 7, 2019 · 32 commits to master since this release

Assets 2

@simonw simonw released this Sep 3, 2019 · 36 commits to master since this release

Assets 2
You can’t perform that action at this time.