{"id":26874199,"url":"https://github.com/uzrnem/phinx-php-cakephp","last_synced_at":"2025-03-31T09:34:13.985Z","repository":{"id":175469918,"uuid":"653931808","full_name":"uzrnem/phinx-php-cakephp","owner":"uzrnem","description":"How to use Phinx for Database Migration with Docker Dockerfile in DockerCompose.yml","archived":false,"fork":false,"pushed_at":"2023-12-10T10:23:57.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-27T18:20:17.590Z","etag":null,"topics":["database-migrations","database-schema","docker","phinx","php"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/uzrnem/phinx","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uzrnem.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-06-15T03:48:21.000Z","updated_at":"2024-05-27T18:20:17.591Z","dependencies_parsed_at":null,"dependency_job_id":"83ebc83a-62e2-404d-a08d-224f5456e1fc","html_url":"https://github.com/uzrnem/phinx-php-cakephp","commit_stats":null,"previous_names":["uzrnem/phinx-php-cakephp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzrnem%2Fphinx-php-cakephp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzrnem%2Fphinx-php-cakephp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzrnem%2Fphinx-php-cakephp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzrnem%2Fphinx-php-cakephp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uzrnem","download_url":"https://codeload.github.com/uzrnem/phinx-php-cakephp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246447794,"owners_count":20779045,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database-migrations","database-schema","docker","phinx","php"],"created_at":"2025-03-31T09:34:13.368Z","updated_at":"2025-03-31T09:34:13.972Z","avatar_url":"https://github.com/uzrnem.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Phinx database migration tools\n\n#### Supported Adapter\n\u003e MySQL: specify the mysql adapter.\n\n\u003e PostgreSQL: specify the pgsql adapter.\n\n#### Future Adapters\n\u003e SQLite: specify the sqlite adapter.\n\n\u003e SQL Server: specify the sqlsrv adapter.\n\nPlease raise MR for this adapter\n\n## MYSQL\n```\nversion: \"3.7\"\n\nservices:\n  phinx:\n    image: uzrnem/phinx:0.4\n    container_name: phinx\n    volumes:\n      - $PWD/db:/phinx/db\n    environment:\n      PHINX_DB_HOST: mysqlhost\n      PHINX_DB_DATABASE: mydb\n      PHINX_DB_USERNAME: postgres\n      PHINX_DB_PASSWORD: changeme\n```\n\n\n## PostgreSQL\n```\nversion: \"3.7\"\n\nservices:\n  phinx:\n    image: uzrnem/phinx:0.4\n    container_name: phinx\n    volumes:\n      - $PWD/db:/phinx/db\n    environment:\n      PHINX_DB_ADAPTER: pgsql\n      PHINX_DB_HOST: postgresdb\n      PHINX_DB_DATABASE: mydb\n      PHINX_DB_USERNAME: postgres\n      PHINX_DB_PASSWORD: changeme\n      PHINX_DB_PORT: 5432\n```\n\n#### Php Code\n```\n./vendor/bin/phinx create CreateSubscriptionTable\n./vendor/bin/phinx migrate\n./vendor/bin/phinx rollback\n./vendor/bin/phinx rollback -t 0\n./vendor/bin/phinx status\n\n./vendor/bin/phinx seed:create TagSeeder\n./vendor/bin/phinx seed:run -v\n./vendor/bin/phinx seed:run -s AccountTypeSeeder -s TransactionTypeSeeder -s TagSeeder\n\n$this-\u003etable('posts')-\u003edrop()-\u003esave();\n\n$table = $this-\u003etable('posts');\n$table-\u003erename('articles')\n    -\u003eupdate();\n\n$table = $this-\u003etable('posts');\n$table-\u003echangePrimaryKey('new_primary_key');\n$table-\u003eupdate();\n\n$table = $this-\u003etable('subscription');\n$table-\u003eaddColumn('title', 'string', ['limit' =\u003e 255, 'null' =\u003e false])\n  -\u003eaddColumn('description', 'string', ['limit' =\u003e 255, 'null' =\u003e true])\n  -\u003eaddColumn('amount', 'float', ['null' =\u003e false])\n  -\u003eaddColumn('actual_amount', 'float', ['null' =\u003e true])\n  -\u003eaddColumn('start_date', 'datetime', ['null' =\u003e true])\n  -\u003eaddColumn('end_date', 'datetime', ['null' =\u003e false])\n  -\u003eaddColumn('due_date', 'datetime', ['null' =\u003e true])\n  -\u003eaddColumn('type', 'enum', ['values' =\u003e ['prepaid', 'postpaid'], 'default' =\u003e 'prepaid'])\n  -\u003eaddColumn('status', 'boolean', ['limit' =\u003e 1, 'null' =\u003e false, 'default' =\u003e 0])\n  -\u003eaddTimestamps()\n  -\u003ecreate();\n\n$data = [\n  [\n    'body'    =\u003e 'foo',\n    'created' =\u003e date('Y-m-d H:i:s'),\n  ],[\n    'body'    =\u003e 'bar',\n    'created' =\u003e date('Y-m-d H:i:s'),\n  ]\n];\n\n$posts = $this-\u003etable('posts');\n$posts-\u003einsert($data)\n  -\u003esaveData();\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuzrnem%2Fphinx-php-cakephp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuzrnem%2Fphinx-php-cakephp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuzrnem%2Fphinx-php-cakephp/lists"}