Skip to content

JuliaAPlavin/SQLStore.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SQLStore.jl

Warning

This package works, but is not under development anymore. Consider using SQLCollections.jl that has a cleaner and much more general design.

Use SQLite tables as Array- or Dict-like collections.

SQLStore.jl is not an ORM and doesn't try to be. It effectively maps SQL tables to the simplest Julia collections, following Array and Dict interfaces as possible.

SQLStore.jl supports both native SQLite datatypes and serialization to JSON or Julia Serialization formats. It automatically creates table schemas based on Julia types, adding constraints when necessary. As an example, for a field of Julia type Int, the SQLite column definition is colname int not null check (typeof(colname) = 'integer'). This ensures that only values of proper types can end up in the table, despite the lack of strict typing in SQLite itself.

For array-like collections, SQLStore.jl uses push! to insert elements into the collection. Selection and filtering uses functions like collect, filter, only and others. Main data modification functions: update!, updateonly!, updatesome!, and similarly with delete!. Values of supported Julia types are automatically converted to/from corresponding SQLite types.

See the Pluto notebook for more examples, and docstrings for more details on specific functions.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages