Phinx
liquibase
Our great sponsors
Phinx | liquibase | |
---|---|---|
13 | 54 | |
4,440 | 4,394 | |
0.3% | 2.3% | |
7.9 | 9.9 | |
about 1 month ago | 2 days ago | |
PHP | Java | |
MIT License | Apache License 2.0 |
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.
Phinx
- How do you manage database structure changes? And deploying code?
-
How do you sync dev databases across multiple devices?
You should look into migrations and seed data. https://phinx.org/ is what I use with no issues.
-
How to add a database structure migration feature to your legacy PHP projects?
I've had success with Phinx, That aside, for many databases, you can throw adminer in there and create SQL exports of the tables, triggers, procedures, etc, and use it as controlled migrations repo.
-
JSON static files vs Database, to save plugins information
If you want to version control your db schema, you could look at a database migration system like phinx. Php frameworks like Laravel do this and it works very nicely.
-
JSON and Virtual Columns in SQLite
I think that for Notion (neat company btw) it might make a lot of sense to keep the schema pretty loose but I have managed to keep an agile DB alive and well with a lot of flexibility. A lot of migration infrastructure packages and tools will store the migration state in the DB itself - we're using Phinx[1] internally which creates a `phinxlog` table with a record of migrations that have been run - there is tooling to migrate only up to a specific version and since the record of all executed versions is stored in the DB the tool can easily figure out what works needs to be done in which circumstances. The result is that we can easily roll different environments onto different versions.
Neither schema driven nor unstructured is always the right call - they both have their strengths and weaknesses - but I think that trust in data integrity is pretty important when writing flexible code on top of a data layer. Knowing that expected keys can't be omitted and that so-and-so column must conform to a given data domain can really alleviate defensive coding costs.
If you'd like to talk some more I can shoot you an email and we can sit down sometime?
1. https://phinx.org/
- Phinx – PHP Database Migrations for Everyone
-
Our Agency's WordPress Workflow
- For more granular on db migration between development and production, I use Phinx (https://phinx.org/). So, development team has no need to touch the GUI via wp dashboard to make any changes. This tool is similar to laravel eloquent, or ruby on rails' active record.
-
Dockerized app problems
We use https://phinx.org/ for db migrations, if that helps in any way. So now I try to solve this and other problems.
-
I would like to have access to the final array in the initial static class
I would also opt for an explicit build call. Also, if you decide it is not worth writing, you could try Phinx (https://phinx.org/), which does migrations very similar to Laravel's. That way you don't have to re-invent the wheel.
- Returning to PHP and web programming after 15 years... is this the way? Or have things changed a lot?
liquibase
-
I am looking for a troubled/bad open source codebase
While I respect the work, Liquibase's code base is quite messy... https://github.com/liquibase/liquibase
-
Any free SchemaDiff tools out there? pgAdmin Schema Diff created a script but it fails (order is wrong, etc)
Have you looked at liquibase?
-
dbForge Schema Compare vs Redgate SQL Compare vs ApexSQL Diff
For those in search of a open source solution with commercial support have a look at https://www.liquibase.org/
- How do you manage database structure changes? And deploying code?
-
Better alternatives to schemachange for Snowflake Database Object Deployment
I haven't used it for a number of years but it sounds like something like liquibase (https://www.liquibase.org/) might be what you're looking for.
-
Version control for database used by C# app
Liquibase
- Dumb Question: Initializing a database.
-
How do you handle migrations ?
We use https://github.com/liquibase/liquibase, as most of Dev are used to and comfortable with it.
-
Schema vs non-schema prpgramming
Highly recommend you use either Liquibase or Flyway for schema management, and Testcontainers pg to run a transitive database for your tests.
-
Deploying data across environments
I haven't used this so I'm not sure it does exactly what you're looking for but I had a DBA recommend it to me as a possible tool to start using as we overhaul our pipelines. https://www.liquibase.org/
What are some alternatives?
Doctrine Migrations - Doctrine Database Migrations Library
Prisma - Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
PHPMig - Simple migrations system for php
schemachange - A Database Change Management tool for Snowflake
phoenix - Framework agnostic database migrations for PHP.
FluentMigrator - Fluent migrations framework for .NET
Migrations - php 5.3 Migration Manager
dolt - Dolt – Git for Data
Ruckusing - Database migrations for PHP ala ActiveRecord Migrations with support for MySQL, Postgres, SQLite
bytebase - The GitLab/GitHub for database DevOps. World's most advanced database DevOps and CI/CD for Developer, DBA and Platform Engineering teams.
Slim - Slim Framework 4 Skeleton Application
dbmate - :rocket: A lightweight, framework-agnostic database migration tool.