bob
SQL query builder and ORM/Factory generator for Go with support for PostgreSQL, MySQL and SQLite
File Explorer
Download Latest Version (.zip)- lint.yml
- test.yml
- FUNDING.yml
- combine.go
- conflict.go
- cte.go
- fetch.go
- frame.go
- from.go
- group_by.go
- having.go
- join.go
- limit.go
- lock.go
- offset.go
- order_by.go
- returning.go
- select.go
- set.go
- setcols.go
- values.go
- where.go
- window.go
- with.go
- builder.go
- clauses.go
- delete.go
- dialect.go
- function.go
- hints.go
- insert.go
- mods.go
- select.go
- update.go
- values.go
- hints.go
- qm.go
- qm.go
- hints.go
- qm.go
- hints.go
- into.go
- qm.go
- hints.go
- qm.go
- qm.go
- qm.go
- delete.go
- delete_test.go
- insert.go
- insert_test.go
- load.go
- raw.go
- select.go
- select_test.go
- starters.go
- table.go
- table_test.go
- update.go
- update_test.go
- values.go
- values_test.go
- view.go
- where.go
- builder.go
- delete.go
- dialect.go
- from_items.go
- function.go
- insert.go
- merge.go
- mods.go
- select.go
- update.go
- values.go
- qm.go
- qm.go
- conflict_target.go
- qm.go
- qm.go
- qm.go
- qm.go
- qm.go
- qm.go
- delete.go
- delete_test.go
- insert.go
- insert_test.go
- load.go
- merge.go
- merge_test.go
- raw.go
- select.go
- select_test.go
- starters.go
- table.go
- table_test.go
- update.go
- update_test.go
- values.go
- values_test.go
- version.go
- view.go
- view_test.go
- where.go
- builder.go
- delete.go
- dialect.go
- function.go
- insert.go
- mods.go
- or.go
- select.go
- update.go
- values.go
- qm.go
- qm.go
- qm.go
- qm.go
- qm.go
- qm.go
- qm.go
- delete.go
- delete_test.go
- insert.go
- insert_test.go
- load.go
- raw.go
- select.go
- select_test.go
- starters.go
- table.go
- update.go
- update_test.go
- values.go
- values_test.go
- view.go
- view_test.go
- where.go
- pgx.go
- pgx_test.go
- tx.go
- arg.go
- builder.go
- case.go
- cast.go
- chain.go
- columns.go
- constants.go
- dialect_test.go
- group.go
- operators.go
- quote.go
- raw.go
- raw_test.go
- setclause.go
- string.go
- functions.go
- node_info.go
- node_type.go
- nullable.go
- stmt.go
- visitor.go
- args.go
- config.go
- folders.go
- helpers.go
- type_definitions.go
- mods.go
- parse.go
- sources.go
- translate.go
- types.go
- visitor.go
- visitor_helpers.go
- users.sql
- exclude-tables.golden.json
- include-exclude-tables-mixed.golden.json
- include-exclude-tables-regex.golden.json
- include-exclude-tables.golden.json
- include-tables.golden.json
- mysql.go
- mysql.golden.json
- mysql_test.go
- bob_mysql_blocks.bob.go.tpl
- mysql_blocks.bob.go.tpl
- 100_blocks.go.tpl
- bob_mysql_blocks.bob.go.tpl
- main.go
- args_cols.go
- mods.go
- mods_delete.go
- mods_insert.go
- mods_merge.go
- mods_select.go
- mods_update.go
- param_repro_test.go
- parser.go
- returning_with_test.go
- source.go
- tokens.go
- translate.go
- types.go
- verify.go
- walker.go
- combined.sql
- users.sql
- videos.sql
- exclude-tables.golden.json
- gen_unused_import_test.go
- include-exclude-tables-mixed.golden.json
- include-exclude-tables-regex.golden.json
- include-exclude-tables.golden.json
- include-tables.golden.json
- keys.go
- psql.go
- psql.golden.json
- psql_test.go
- bob_psql_blocks.bob.go.tpl
- bob_psql_blocks.bob_test.go.tpl
- 100_blocks.go.tpl
- psql_info.bob.go.tpl
- main.go
- sql.go
- main.go
- mods.go
- parse.go
- sources.go
- translate.go
- types.go
- visitor.go
- visitor_helpers.go
- exclude-tables.golden.json
- include-exclude-tables-mixed.golden.json
- include-exclude-tables-regex.golden.json
- include-exclude-tables.golden.json
- include-tables.golden.json
- libsql.golden.json
- sqlite.go
- sqlite.golden.json
- sqlite_test.go
- bob_sqlite_blocks.bob.go.tpl
- 100_blocks.go.tpl
- sqlite_info.bob.go.tpl
- bob_sqlite_blocks.bob.go.tpl
- 100_blocks.go.tpl
- .gitignore
- main.go
- aliases.go
- column.go
- column_test.go
- constraints.go
- filter.go
- filter_test.go
- interface.go
- query.go
- query_nesting.go
- table.go
- table_test.go
- tables.go
- types.go
- go.go
- imports.go
- imports_test.go
- language.go
- counts.go
- dberrors.go
- dbinfo.go
- enums.go
- factory.go
- joins.go
- loaders.go
- models.go
- plugins.go
- plugins_test.go
- presets.go
- queries.go
- where.go
- 001_types_counts.go.tpl
- 115_counts.go.tpl
- bob_counts.bob.go.tpl
- bob_counts.bob_test.go.tpl
- 001_dberrors.bob.go.tpl
- 001_dberrors_test.go.tpl
- bob_errors.bob.go.tpl
- bob_main.bob_test.go.tpl
- 001_info.go.tpl
- bob_types.bob.go.tpl
- enums.bob.go.tpl
- 001_types.go.tpl
- 002_build.go.tpl
- 003_create.go.tpl
- 011_column_mods.go.tpl
- 012_rel_to_one_mods.go.tpl
- 013_rel_to_many_mods.go.tpl
- bobfactory_context.bob.go.tpl
- bobfactory_main.bob.go.tpl
- bobfactory_main.bob_test.go.tpl
- bobfactory_random.bob.go.tpl
- bobfactory_random.bob_test.go.tpl
- 120_joins.go.tpl
- bob_joins.bob.go.tpl
- 105_preload_mapper.go.tpl
- 110_loaders.go.tpl
- bob_loaders.bob.go.tpl
- 001_types.go.tpl
- 002_setter.go.tpl
- 003_scan_mapper.go.tpl
- 004_query.go.tpl
- 005_one_methods.go.tpl
- 007_slice_methods.go.tpl
- 009_rel_query.go.tpl
- 011_rel_ops.go.tpl
- bob_types.bob_test.go.tpl
- 00_formatted.sql.tpl
- 01_query.go.tpl
- 01_query_test.go.tpl
- test_utils.bob_test.go.tpl
- 100_where.bob.go.tpl
- bob_where.bob.go.tpl
- bob_where.bob_test.go.tpl
- aliases.go
- aliases_test.go
- config.go
- config_test.go
- constraints.go
- gen.go
- gen_test.go
- output.go
- plugin.go
- relationships.go
- relationships_test.go
- templates.go
- templates_test.go
- text_helpers.go
- types.go
- mapping.go
- mapping_test.go
- editor.go
- editor_test.go
- quote_identifiers.go
- utils.go
- conflict.go
- conflict_test.go
- mods.go
- mods_test.go
- context.go
- errors.go
- load.go
- load_dedup_test.go
- load_preload_test.go
- load_test.go
- query.go
- query_test.go
- relationship.go
- types.go
- schema.sql
- schema.sql
- schema.sql
- schema.sql
- files.go
- bobfactory_runtime.bob_test.go.tpl
- bobfactory_runtime.bob_test.go.tpl
- bobfactory_runtime.bob_test.go.tpl
- database.bob_test.go.tpl
- database.bob_test.go.tpl
- gen.go
- plugins.go
- utils.go
- enum_array.go
- generic_array.go
- hstore.go
- inet.go
- inet_test.go
- lsn.go
- macaddr.go
- snapshot.go
- tsvector.go
- json.go
- json_test.go
- marshal.go
- time.go
- uint64.go
- _category_.yaml
- configuration.md
- enums.md
- factories.md
- ignored-features.md
- intro.md
- mysql.md
- psql.md
- queries.md
- relationships.md
- sql.md
- sqlite.md
- usage.md
- _category_.yaml
- columns.md
- hooks.md
- intro.md
- table.md
- view.md
- _category_.yaml
- intro.md
- writing-custom-plugins.md
- delete.md
- index.md
- insert.md
- select.md
- update.md
- _category_.yaml
- how-to-use.md
- delete.md
- index.md
- insert.md
- select.md
- update.md
- _category_.yaml
- how-to-use.md
- delete.md
- index.md
- insert.md
- select.md
- update.md
- _category_.yaml
- how-to-use.md
- _category_.yaml
- building-queries.md
- intro.md
- operators.md
- parameters.md
- principles.md
- quotes.md
- starters.md
- using-queries.md
- _category_.yaml
- all.md
- cursor.md
- each.md
- exec.md
- intro.md
- one.md
- prepare.md
- types.md
- why-not.md
- README.md
- custom.css
- index.tsx
- docusaurus.png
- favicon.ico
- logo.svg
- undraw_docusaurus_mountain.svg
- undraw_docusaurus_react.svg
- undraw_docusaurus_tree.svg
- .nojekyll
- ent.md
- gorm.md
- jet.md
- sqlboiler.md
- .gitignore
- .ignore
- .nvmrc
- babel.config.js
- docusaurus.config.js
- examples_gen.go
- package-lock.json
- package.json
- sidebars.js
- tailwind.config.js
- tsconfig.json
- .gitignore
- .golangci.yml
- .ignore
- binder.go
- binder_test.go
- build.go
- cached.go
- CHANGELOG.md
- debug_exec.go
- debug_exec_test.go
- exec.go
- exec_test.go
- expression.go
- expression_test.go
- generate.go
- go.mod
- go.sum
- hooks.go
- hooks_test.go
- LICENCE
- load.go
- mods.go
- mods_test.go
- named.go
- query.go
- query_test.go
- README.md
- shell.nix
- stdlib.go
- stdlib_test.go
- stmt.go
- stmt_hookable_test.go
- unique.go
# Installation Guide
1. Get the code
git clone https://github.com/stephenafamo/bob
Downloads the entire project code from GitHub to your computer.
cd bob
Moves into the project folder you just downloaded.
2. Go
Medium RecommendedPrerequisites
go build ./...
Compiles the Go program into an executable.
go run .
Runs the Go program directly without a separate build step.
If the build finishes without errors, it worked. If you used go run ., check the terminal output.
// repository documentation
Was this content helpful?
(0 ratings)
