/todo/migrations.todo
Unknown | 77 lines | 76 code | 1 blank | 0 comment | 0 complexity | e689c6f6ad57d913bfdac4564a586f07 MD5 | raw file
1- newer 2 - types 3 - php 4 - DbConnection methods 5 - chainable sql generation calls (php sql dsl) 6 - template based 7 - sql: put metadata inside sql comments 8 - execute with psql 9 - execute within php 10 11- new 12 - functions 13 - initialize database 14 - copy a migration template from the module into the applications migrations and run it 15 - have a special bootstrap migration that doesn't check for the migration tables but rather creates them 16 - apply all migrations 17 - this should probably throw and error if the database isn't in it's default state 18 - apply all unappied migrations 19 - reapply migration 20 - reapply migrations start:end 21 - checkpoint 22 - dump the current state of the database 23 - skip everything before this point 24 - rollback the database to a certaint point 25 - recreate the database up to a certaion point 26 - categorize migrations or items inside migrations 27 - by 28 - schema 29 - data 30 - text 31 - arbitrary keyword tagging system 32 - have a way of only including or excluding lists of tags 33 - branch (see below) 34 - create a base prefix used for determining version numbers 35 - default prefix is '' 36 - the next version number is determined as follows 37 - select max(last part of version number) where version number like '$prefix%'; 38 - if null or '' then 0 39 - else prefix . '.' . value + 1 40 - zap migration branch command for setting the prefix to the current max version number or some other arbitrary string 41 - have a way of handling versioning and naming 42 - you fork off a stable branch (version 1) 43 - you make a change to the database in the stable branch and make a change (version 2) 44 - this change may or may not also need to be applied to the dev branch 45 - you make a change to the dev branch and make a change (version 2) 46 - this may or may not need to be applied to the stable branch 47 - you fork again, dev moves to stable (version 3) 48 - create a database indepentdent format 49 - yaml based 50 - php array based 51- old 52 - make sure that reverse migrations don't work without at least a very, very clear warning, etc 53 + make it subsitiute "_"s for "."s when creating the class name 54 - init the db 55 - just have an init.sql file or whatever else the other modules do 56 - apply migrations 57 + have it scan the migrations directory for all available migrations 58 + scan the db for applied migrations 59 + apply anything that hasn't been done yet, in the proper order 60 - allow you to selectively apply a specific migration 61 - allow you to selectively apply a specific range of migration 62 - removing migrations 63 - allow you to selectively remove a specific migration 64 - allow you to selectively remove a specific range of migration 65 - allow you to remove the last set of migrations done 66 - testing migrations 67 - allow you to 68 - namespacing 69 - tablename prefix 70 - schema prefix 71 - complete schema info 72 - dump the entire schema from the existing database after migrations are applied 73 - implement creating sql snapshot files 74 - create a blank tmp database 75 - run all schema and data migrations on it 76 - dump it to a sql file 77 - drop tmp database