The docs now cover DoFramework 0.0.44
· 3 min read
These docs now cover DoFramework 0.0.44. The biggest change in 0.0.43 and 0.0.44 is database migrations: an app can now keep its schema in PHP migration files instead of <createTables>, and the admin panel has a page for running and rolling them back.
What's new in the docs
- Database Migrations. A new page on when migrations run and how they're recorded, writing
up()anddown(), converting an existing app withmake:baseline, rolling back and resetting, thephp api/migrate.phpcommand, and the admin panel's Migrations page. - Upgrading The Framework. A new page on how a framework update runs, why you can skip releases, and the manual steps an update from 0.0.40 or older still needs.
- Todo App. The tutorial now creates its table with a migration.
- App Manifest now describes what
<uninstallConfiguration>does. It used to say nothing reads it. - App Manager documents
syncTablesFromXmlandshow_create_table, and how install and reinitialize treat an app with migrations.
Framework changes in 0.0.43 and 0.0.44
- App migrations. Files in an app's
migrations/folder run once each, in filename order, on install and on every reinitialize. An app with one migration file uses migrations only. Start new apps on migrations. - A Migrations page in the admin panel. It lists every app's migrations, runs the pending ones and rolls back, with a preview of what will be undone. Apps still on
<createTables>get a Sync tables action. It needs five new admin permissions, which reach the admin role whensystem_admin_appis reinitialized; log in to the admin panel again to see the menu. helloworlduses migrations. Its<createTables>became a baseline migration, so it's now the worked example for both.- Enum columns survive a reinitialize. An enum's list goes in
valuesonly. A reinitialize used to build a bareenumand fail. - An upload over
post_max_sizeis answered with413, naming the limit, instead of the action reporting its fields missing. - No redirect loop for a user refused the dashboard. They get the error page with a
403. - Dev links stay out of
git status. The framework's.gitignorenow tracks only the bundled apps in the app folders, so a dev app needs no entry. ./bump-versionchecks the system app versions before a release.- Popups taller than the window scroll, and a date picker's calendar shows in full inside a popup.
See Upgrading The Framework before you update an older install.
