factory_bot VS pgx

Compare factory_bot vs pgx and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
factory_bot pgx
30 71
7,875 9,488
0.1% -
7.8 9.1
5 days ago 6 days ago
Ruby Go
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

factory_bot

Posts with mentions or reviews of factory_bot. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-29.
  • Show HN: Factory-JS – TypeScript dummy object generator for testing
    2 projects | news.ycombinator.com | 29 Mar 2024
    I made Factory-js inspired by factory-bot (https://github.com/thoughtbot/factory_bot), supports Prisma and Drizzle ORM and more. TypeScript is now widely used in both backend and frontend, but there is no de facto standard factory library. I'm developing a web application using Prisma, trpc, and nextjs, but I was struggling with how to write more beautiful and readable back-end tests. That's why I made factory-js.
  • Metaprogramming in Ruby: Advanced Level
    3 projects | dev.to | 30 Jun 2023
    factory_bot: A fixtures replacement
  • Seeding the DB: Best approach?
    3 projects | /r/rails | 7 Jun 2023
    Not sure if you want the execution speed to be faster, or the development speed. If it's development, you can use FactoryBot in a script to generate data easily once you have your factories set up.
  • How could I prevent resetting the database during the test?
    1 project | /r/rubyonrails | 7 Apr 2023
    For instance, thoughtbot/factory_bot.
  • You can’t bribe, threaten, or feed people to get them back in the office
    1 project | news.ycombinator.com | 6 Feb 2023
    > if you're a bunch of tool makers and you all know your audience of tool users then there's no benefit at all to have someone offended by the word "tool" in your workforce.

    It kinda reminds me of the factorygirl -> factorybot [0] story. It was a cute enough name for a technical tool that plays nice among bros, and down the line you end up renaming your package and deal with the drama.

    On brand image, I get your point. I think the corporations doing it best tend to juggle with multiple brands and segment their market accordingly. Then yes, an homogeneous, single focus brand will be more valuable, as it also help to push people outside of the target to your other brands.

    [0] https://github.com/thoughtbot/factory_bot/wiki

  • rspec testing on Windows.
    1 project | /r/ruby | 2 Feb 2023
    Not sure I follow why this question is related to an OS like Windows, but when it comes to RSpec testing with different users, I would use Factory Bot and define a User Factory and add Traits such as Admin & Non Admin and use them in specs with their pre-defined attributes to what they can access based on your User Model and call them within the specs.
  • How to optimize factory creation.
    2 projects | dev.to | 21 Dec 2022
    The factory-bot gem is used in almost in all of our spec files and it make our set up much more easier than when we use fixtures. Here is the tradeoff, the easier the gem is to use, the more likely you’ll end up with some pain to control its usage. And when the times come to tackle slow tests, the best bet you can take is to start digging into you factories because it’s likely they are the primary reason why your test suite is slowing down
  • Efate Test Generator Series: Extending the library
    2 projects | dev.to | 5 Sep 2022
    Efate is actually the second test fixture library I've written and there were several lessons I learned after using the first iteration for several years myself. The first version was influenced a great deal by factor_girl (called factory_bot now), with a heavy dependency on strings to define and create the fixtures. It also wasn't very modular. You couldn't just import a specific fixture, you had to bring in the whole library. And it wasn't very extensible, if you needed to define custom behavior for how a field should be created, it wasn't very pretty.
  • Get help from thoughtbot for free (mentoring / office hours)
    4 projects | /r/ruby | 7 Jul 2022
    I work at thoughtbot, you might know us for our open source work like administrate, factory_bot or shoulda-matchers.
  • Gnarly Learnings From June 2022
    2 projects | dev.to | 22 Jun 2022
    As we continue to level-up our skillsets as developers in Rails, the utility of POROs (Plain Old Ruby Objects) becomes more apparent and appealing. Sometimes, the business object(s) you create do not require persistent storage to a database and are, therefore, outside of the scope of an ORM (Object Relational Mapper) like ActiveRecord. But how do we maintain simplicity in our test suite and continue to leverage helpful testing libraries like FactoryBot without one? This instructional article explores how to implement factories for POROs including common pitfalls, building nested resources, and factory linting.

pgx

Posts with mentions or reviews of pgx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-22.
  • Setting up a Database Driver, Repository and Implementation of a transaction function for your Go App
    2 projects | dev.to | 22 Apr 2024
    Sometimes, backend developers tend to opt for an ORM library because it provides an abstraction between your app and the database and thus there is little or no need to write raw queries and migrations which is nice. However, if you want to get better at writing queries (SQL for example), you need to learn how to build your repositories without an ORM. To open a database handle, you can either do it directly from the database driver or do it from database/sql with the driver passed into it. I will be opening the connection with database/sql together with pgx which is a driver and toolkit for PostgreSQL. Walk with me.
  • The DDD Hamburger for Go
    2 projects | dev.to | 6 Jan 2024
    The infrastructure layer contains the concrete implementation of the repository domain interface ActivityRepository in the struct DbActivityRepository. This repository implementation uses the Postgres driver pgx and plain SQL to store the activity in the database. It uses the database transaction from the context, since the transaction was initiated by the application service.
  • Building RESTful API with Hexagonal Architecture in Go
    21 projects | dev.to | 27 Sep 2023
    For building the RESTful Point of Sale service API, I've considered and selected a combination of technologies that would work seamlessly together. For handling HTTP requests and responses, using the Gin HTTP web framework would make sense because I think it seems complete and popular among Go community too. To ensure data integrity and persistence, I'm using PostgreSQL database with pgx as the database driver, the reason I choose PostgreSQL because it is the most popular relational database to use in production and offers efficient Go integration. I'm also implementing caching using Redis with go-redis client library, which provides powerful in-memory data storage capabilities.
  • Working with postgres in GO.
    2 projects | /r/golang | 3 Jul 2023
    If you are willing to commit to working only with Postgres, I highly recommend pgx. Be sure you get the latest version github.com/jackc/pgx/v5. This gives you the full power of interacting with Postgres without going through an intermediate lowest-common-denominator library.
  • How to Use Iris and PostgreSQL for Web Development
    6 projects | dev.to | 2 Jul 2023
    It uses pg package and pgx driver under the hood.
  • Could I get a code review?
    11 projects | /r/golang | 1 Jun 2023
    Starting off, is there any reason you're calling out to the CLI, instead of just using a Postgres driver like pgx? Shelling out to the command line should always be a last resort where possible as a software engineer.
  • Why elixir over Golang
    10 projects | /r/elixir | 29 May 2023
    For maintaining state I use PostgreSQL. Driver: https://github.com/jackc/pgx (I use the pgxpools) Along with Sqlc for generating database models and allowing me to focus on just building queries in DBeaver. https://sqlc.dev/
  • Make psql display settings on login
    1 project | /r/PostgreSQL | 24 May 2023
    An example of what I'm looking for can be found here https://github.com/jackc/pgx/wiki/Getting-started-with-pgx-through-database-sql/c9f798b4d9a500fcf93931df2464af969d68f516
  • Zig now has built-in HTTP server and client in std
    3 projects | news.ycombinator.com | 18 May 2023
    Except pgx recommends using their native interface, not database/sql, for performance and extra features [0], so it's not that simple in practice.

    [0]: https://github.com/jackc/pgx#choosing-between-the-pgx-and-da...

  • Go Roadmap
    2 projects | /r/golang | 5 May 2023
    pgx is “PostgreSQL driver and toolkit for Go”. Take a look at https://github.com/jackc/pgx

What are some alternatives?

When comparing factory_bot and pgx you can also consider the following projects:

Fabrication - This project has moved to GitLab! Please check there for the latest updates.

sqlx - general purpose extensions to golang's database/sql

faker - A library for generating fake data such as names, addresses, and phone numbers.

GORM - The fantastic ORM library for Golang, aims to be developer friendly

ffaker - Faker refactored.

pq - Pure Go Postgres driver for database/sql

Machinist - Fixtures aren't fun. Machinist is.

gomock - GoMock is a mocking framework for the Go programming language.

Forgery - Easy and customizable generation of forged data.

go-sql-driver/mysql - Go MySQL Driver is a MySQL driver for Go's (golang) database/sql package

Fake Person - Create some fake personalities

sqlc - Generate type-safe code from SQL