Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Normalize data structure across stores #29

Merged
merged 2 commits into from
Oct 3, 2017
Merged

Normalize data structure across stores #29

merged 2 commits into from
Oct 3, 2017

Conversation

lukechilds
Copy link
Contributor

@lukechilds lukechilds commented Oct 3, 2017

Ensuring we have a common default data structure for all stores will allow us to easily make changes in the future while keeping backwards compatibility.

For example, we can add an option to remove the timestamp wrapper if you're using Keyv as a persistent store. Without changing the option the default behaviour won't change, so existing users can upgrade without any code changes. New users can enable the option and benefit from reduced storage requirements.

Normalizing all timestamp data also allows us to very easily create migration tools to automatically migrate between stores.

@coveralls
Copy link

coveralls commented Oct 3, 2017

Coverage Status

Coverage remained the same at 100.0% when pulling a13a6cc on ttl-support into 78c6fef on master.

@lukechilds lukechilds merged commit a13a6cc into master Oct 3, 2017
@lukechilds lukechilds mentioned this pull request Oct 3, 2017
9 tasks
caseyWebb pushed a commit to caseyWebb/keyv that referenced this pull request Oct 10, 2019
@Kikobeats Kikobeats deleted the ttl-support branch September 15, 2020 07:57
jaredwray pushed a commit that referenced this pull request Nov 21, 2021
jaredwray added a commit that referenced this pull request Nov 21, 2021
* Initial commit

* Fix Travis MySQL

* Mention MariaDB

* Fix invalid bad connection string

* 0.1.0

* Run MySQL setup commands as root

* Use keyv-sql instead of keyv-sequelize (#3)

* Update to requirable

* Pin dependency versions

* 0.2.0

* fix(package): update keyv-sql to version 0.2.4 (#4)

* 0.2.1

* Finish docs

* 1.0.0

* fix(package): update keyv-sql to version 1.0.2 (#6)

Closes #5

* 1.0.1

* Update mysql2 to the latest version 🚀 (#8)

* fix(package): update keyv-sql to version 1.0.3 (#9)

* 1.0.2

* Scope to @keyv

* 1.0.3

* Use scoped sql package

* 1.0.4

* Update ava to the latest version 🚀 (#13)

* Update mysql2 to the latest version 🚀 (#14)

* Update @keyv/sql to the latest version 🚀 (#16)

* fix(package): update @keyv/sql to version 1.0.6

* 1.0.5

* Install typo

* 1.0.6

* fix(package): update mysql2 to version 1.4.2 (#17)

* 1.0.7

* fix(package): update @keyv/sql to version 1.1.0 (#19)

* Update @keyv/sql to the latest version 🚀 (#20)

* Document opts.keySize

* Mention key size issue in readme

* 1.1.0

* Update @keyv/sql to the latest version 🚀 (#21)

* 1.1.1

* Update coveralls to the latest version 🚀 (#22)

* Update ava to the latest version 🚀 (#23)

* Update mysql2 to the latest version 🚀 (#24)

* 1.1.2

* Update mysql2 to the latest version 🚀 (#25)

* 1.1.3

* Update ava to the latest version 🚀 (#26)

* Update ava to the latest version 🚀 (#27)

* Update mysql2 to the latest version 🚀 (#28)

* 1.1.4

* chore(package): update xo to version 0.20.1 (#30)

Closes #29

* Update .gitignore

* upgrading @keyv/sql to version 1.1.3

* Delete .travis.yml

* adding in build for github actions

* removing files for testing mysql

* upgraded mysql2 to version 2.3.1 to get test working

* mysql docker compose file

* updated to use testing user / pass combo

* updating with build status badge

* upgrading @keyv/sql to version 1.1.3

* updating authors and licensing

* upgrading nyc to version 15.1.0

* upgrading ava to version 3.15.0

* updating to handle const instead of import for ava

* Revert "Upgrading ava to version 3.15.0"

* fixing logo on readme

* Update build.yaml

* Update build.yaml

* Update build.yaml

* Update build.yaml

* updating with all mysql values

* moving to root for testing

* updating to handle super user

* moving back to docker

* Update mysql.yaml

* using local container db

* Update build.yaml

* testing mariadb service

* Update build.yaml

* Update build.yaml

* moving to docker compose

* upgrading mysql2 to version 2.3.2

* upgrading xo to version 0.45.0

* updating fixes for xo formating

* upgrading ava to version 3.15.0

* moving to const for testing

* version bump for release

* moving to node 16

* updating to latest compose

* upgrading xo to version 0.46.4

* Update build.yaml

* upgraind mysql2 to version 2.3.3

* adding in codecov

* adding in code coverage

* updating for services

* upgrading keyv to version 4.0.4

* updating coverage reporting

* removing mysql dependency

* removing mysql dependency and fixing clean

* no longer need build in mono

* no longer needed

* importing mysql

Co-authored-by: Luke Childs <lukechilds123@gmail.com>
Co-authored-by: greenkeeper[bot] <greenkeeper[bot]@users.noreply.github.com>
jaredwray pushed a commit that referenced this pull request Dec 5, 2021
not longer necessary
jaredwray added a commit that referenced this pull request Dec 5, 2021
* Initial commit

* Adapt Redis API

* Run redis on Travis

* Fix typo in description

* Add npm keywords

* Pass TTL functionality over to Redis

* Create promisified redis methods on init

* Create redis methods in loop

* Make sure .get resolves to undefined if key doesn't exist

* Update keyv

* Use keyv-api-tests

* 0.1.0

* Add usage example to readme

* Add API docs to readme

* Add support for .clear()

* 0.2.0

* Don't expost Redis client

* 1.0.0

* keyv => Keyv

* 1.0.1

* Expose Redis client so events can be listened to

* Show error handling in usage example

* 1.1.0

* Add secondary description to readme

* 1.1.1

* Make sure opts.uri from Keyv gets passed through to redis

* Expose connect/error events directly on storage adapter

* Only expose error event

* Emit errors on keyv ee

* Make sure opts is always defined

* Update overview wording

* Use JSONB to allow Buffers in JSON

* Don't send undefined values to Redis Redis will save them as null. If we don't save them at all we'll retrun undefined on .get so everything works as expected.

* No need for JSONB, it's used by default in Keyv now

* 1.2.0

* Improve readability of get method

* Migrate to keyv-test-suite

* Run official keyv storage adapter tests

* Add support for namespaces

* Don't grab namespace from keyv

* Use new store instace for each test

* getter fn for namespace

* Emit error events

* 1.3.0

* Update dependencies to enable Greenkeeper 🌴 (#1)

* chore(package): update dependencies

* docs(readme): add Greenkeeper badge

* Remove Greenkeeper badge

* Use "this"

* Update to requirable

* Pin dependency versions

* 1.3.1

* Fix requirable version number

* Update docs

* Add Keyv logo to header

* Tweak wording

* 1.3.2

* Formatting

* 1.3.3

* Update redis to the latest version 🚀 (#3)

* 1.3.4

* Scope to @keyv

* 1.3.5

* Use scoped dependencies

* Fix package.json links

* Import scoped test suite

* 1.3.6

* Update ava to the latest version 🚀 (#6)

* Support same constructor args as Keyv

* Document creating storage adapter instance

* 1.3.7

* Add .npmignore

* 1.3.8

* Update coveralls to the latest version 🚀 (#8)

* Update ava to the latest version 🚀 (#9)

* Update ava to the latest version 🚀 (#10)

* Update ava to the latest version 🚀 (#11)

* chore(package): update xo to version 0.20.1 (#14)

Closes #13

* Allow testing on non-localhost Redis, add docker config (#27)

* Travis: Update Travis to current active LTS and higher (#28)

* build: removed `ttlSupport` flag (#29)

not longer necessary

* Use ioredis client (#26)

* 2.0.0

* build: Allow passing in an existing Redis instance (#30)

* build: update dependencies (#31)

* build: update dependencies

* build: force

* build: force

* 2.1.0

* Update ioredis to ~4.16.0 (#34)

* 2.1.1

* update ioredis (#38)

* 2.1.2

* adding coverage for undefined going via set (#46)

* upgrade nyc to 15.1.0 (#47)

* adding yarn lock file (#48)

adding yarn lock file

* upgrading delay to version 5.0.0 (#49)

upgrading delay to version 5.0.0 for maintenance

* upgrading ioredis to version 4.27.9 (#50)

maintenance update

* upgrading ava to 3.15.0 (#51)

maintenance update

* Revert "upgrading ava to 3.15.0 (#51)" (#52)

This reverts commit 2db6e7b2fa24c51abc215c0185e3df440c4ff290.

* Update .travis.yml to support node 14 and 15

Update .travis.yml to support node 14 and 15

* upgrading ava to 3.15.0 (#53)

upgrading ava to 3.15.0 for maintenance update

* adding in support for node version 12 (#55)

* upgrading xo to version 0.45.0 (#56)

* upgrading xo to version 0.45.0

* moving to supporting 12,14,16

* upgrading ioredis to version 4.27.10 (#57)

* keyv-redis package updated to 2.1.3 (#58)

* initial check in of github actions (#59)

* initial check in of github actions

* updating to use redis

* update readme with latest status badge

* remove travis

* Fix test suite import (#60)

* Update to use latest npm with license and nvmrc plus license update of authors (#61)

* adding nvmrc for node 16

* updating licensing with dates and authors

* Delete yarn.lock

* update for authors

* Moving to docker compose for testing and build (#62)

* moving to docker compose for testing and build

* moving to docker compose for testing and build

* rename yaml file

* update to remove yarn.lock

* adding in code coverage

* updating logo and build badge

* Update package.json (#63)

* upgrading xo to version 0.46.4 (#64)

* upgrading ioredis to version 4.28.0 (#65)

* Add support for Redis clusters. (#37)

* version bump to v2.2.0

* adding in ttlSupport (#66)

* upgrading to @keyv/test-suite version 1.6.12 (#67)

* rename to redis

* no longer need build

* Delete redis-compose.yaml

* Delete .gitignore

* no longer needed for mongo

* no longer needed in mongo

* updating for packaging

Co-authored-by: Luke Childs <lukechilds123@gmail.com>
Co-authored-by: greenkeeper[bot] <greenkeeper[bot]@users.noreply.github.com>
Co-authored-by: Casey Webb <notcaseywebb@gmail.com>
Co-authored-by: Kiko Beats <josefrancisco.verdu@gmail.com>
Co-authored-by: Will Harney <41450688+wjharney@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants