Am 19.06.2013 15:46, schrieb Reindl Harald: > > > Am 19.06.2013 15:36, schrieb Paul J Stevens: >> On 06/19/2013 01:02 PM, Reindl Harald (mobile) wrote: >> >>> Uhm wouldn't it not be a good idea at least verify the scheme and >>> spit out a big fat warning to the syslog and in general give >>> dbmail-util a switch to apply scheme changes which should be >>> called after any dbmail update instead deal with SQL dumps? >> >> How do you propose we do that? > > what about having a meta-table which could be created > at startup if it does not exist containing the version > of the sql-scheme by a increasing number > > if you make any change to the scheme raise the internal > number, select what is currently applied in the metatable > and the needed changes should be pretty clear i think
what i also maintain in our cms i a list of table/fields as attached as text-file and based on table exists / field exists they are added by calling "create.php" in our case i hardly need this because there are around 300 cms-installations with currently 8000 tables on the main-webserver and they are all deployed with a single cli-command from the admin server followed with a implicit call to "create.php" so if i add new functionality to the cms which may be only enabled by configuration or not i can be sure that any new sql-field to store a setting or whatever exists in all setups and so the ones maintaining the customer can be sure that it is safe to enable whatever option for whatever customer
$new_fields = array
(
array('table'=>'blog', 'field'=>'blog_owner',
'type'=>'int', 'length'=>4, 'unsigned'=>1),
array('table'=>'blog', 'field'=>'blog_attachments',
'type'=>'text'),
array('table'=>'blog', 'field'=>'blog_keywords',
'type'=>'text'),
array('table'=>'blog', 'field'=>'blog_aktiv',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'blog_keywords_ref', 'field'=>'blog_entry_group',
'type'=>'tinyint', 'length'=>2, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_owner',
'type'=>'int', 'length'=>4, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_modified',
'type'=>'int', 'length'=>10, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_maxwidth',
'type'=>'int', 'length'=>4, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_tn_width',
'type'=>'int', 'length'=>4, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_tn_height',
'type'=>'int', 'length'=>4, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_tn_limit',
'type'=>'int', 'length'=>2, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_tn_lupe',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_per_row',
'type'=>'int', 'length'=>3, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_per_page',
'type'=>'int', 'length'=>3, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_slide_delay',
'type'=>'int', 'length'=>2, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_zoom',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_show_title',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_win_width',
'type'=>'int', 'length'=>4, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_win_height',
'type'=>'int', 'length'=>4, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_win_bgcolor',
'type'=>'varchar', 'length'=>20, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_win_fontcolor',
'type'=>'varchar', 'length'=>20, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_win_linkcolor',
'type'=>'varchar', 'length'=>20, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_lightbox',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_member_group',
'type'=>'int', 'length'=>4, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_hr_bg',
'type'=>'varchar', 'length'=>7),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_hr_bordercolor',
'type'=>'varchar', 'length'=>7),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_hr_borders',
'type'=>'tinyint', 'length'=>2, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_hr_enable',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_hr_quality',
'type'=>'int', 'length'=>3, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_hr_radius',
'type'=>'tinyint', 'length'=>2, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_hr_transparent',
'type'=>'varchar', 'length'=>7),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_tn_bg',
'type'=>'varchar', 'length'=>7),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_tn_bordercolor',
'type'=>'varchar', 'length'=>7),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_tn_borders',
'type'=>'tinyint', 'length'=>2, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_tn_enable',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_tn_quality',
'type'=>'int', 'length'=>3, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_tn_radius',
'type'=>'tinyint', 'length'=>2, 'unsigned'=>1),
array('table'=>'galerie_sub', 'field'=>'gs_rnd_tn_transparent',
'type'=>'varchar', 'length'=>7),
array('table'=>'galerie_images', 'field'=>'gi_owner',
'type'=>'int', 'length'=>4, 'unsigned'=>1),
array('table'=>'galerie_images', 'field'=>'gi_disabled',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'galerie_images', 'field'=>'gi_download',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'galerie_images', 'field'=>'gi_download_file',
'type'=>'varchar', 'length'=>255),
array('table'=>'galerie_images', 'field'=>'gi_skat_fulltext',
'type'=>'varchar', 'length'=>255),
array('table'=>'galerie_images', 'field'=>'gi_url',
'type'=>'varchar', 'length'=>255),
array('table'=>'galerie_images', 'field'=>'gi_kommentar',
'type'=>'text'),
array('table'=>'galerie_images', 'field'=>'gi_modified',
'type'=>'int', 'length'=>10, 'unsigned'=>1),
array('table'=>'haupt', 'field'=>'hstylesheet',
'type'=>'tinyint', 'length'=>2, 'unsigned'=>1),
array('table'=>'haupt', 'field'=>'hnotifymail',
'type'=>'varchar', 'length'=>100),
array('table'=>'haupt', 'field'=>'hrss',
'type'=>'text'),
array('table'=>'sub', 'field'=>'sstylesheet',
'type'=>'tinyint', 'length'=>2, 'unsigned'=>1),
array('table'=>'sub', 'field'=>'srss',
'type'=>'text'),
array('table'=>'sub', 'field'=>'simage_url',
'type'=>'varchar', 'length'=>255),
array('table'=>'sub2', 'field'=>'s2stylesheet',
'type'=>'tinyint', 'length'=>2, 'unsigned'=>1),
array('table'=>'sub2', 'field'=>'s2image_url',
'type'=>'varchar', 'length'=>255),
array('table'=>'sub2', 'field'=>'s2rss',
'type'=>'text'),
array('table'=>'imagemeta', 'field'=>'iurl',
'type'=>'varchar', 'length'=>255),
array('table'=>'imagemeta', 'field'=>'ikommentar',
'type'=>'text'),
array('table'=>'portal', 'field'=>'portal_news',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'portal', 'field'=>'portal_create_time',
'type'=>'int', 'length'=>10, 'unsigned'=>1),
array('table'=>'portal', 'field'=>'portal_edit_time',
'type'=>'int', 'length'=>10, 'unsigned'=>1),
array('table'=>'portal', 'field'=>'portal_edit_uid',
'type'=>'int', 'length'=>6, 'unsigned'=>1),
array('table'=>'banner_counter', 'field'=>'cstunde',
'type'=>'int', 'length'=>2, 'unsigned'=>1),
array('table'=>'banner_counter', 'field'=>'ctag',
'type'=>'int', 'length'=>2, 'unsigned'=>1),
array('table'=>'banner_counter', 'field'=>'cmonat',
'type'=>'int', 'length'=>2, 'unsigned'=>1),
array('table'=>'banner_counter', 'field'=>'cjahr',
'type'=>'int', 'length'=>4, 'unsigned'=>1),
array('table'=>'banner_counter', 'field'=>'cweekday',
'type'=>'tinyint', 'length'=>2, 'unsigned'=>1),
array('table'=>'banner_counter', 'field'=>'cunixtime',
'type'=>'int', 'length'=>10, 'unsigned'=>1),
array('table'=>'banner_gruppen', 'field'=>'gimg1',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'banner_gruppen', 'field'=>'gimg2',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'banner_gruppen', 'field'=>'gimg3',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'banner_gruppen', 'field'=>'gimg4',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'termine', 'field'=>'timage',
'type'=>'varchar', 'length'=>255),
array('table'=>'ext_content', 'field'=>'ext_group',
'type'=>'tinyint', 'length'=>2, 'unsigned'=>1),
array('table'=>'glossar', 'field'=>'gl_disabled',
'type'=>'tinyint', 'length'=>1, 'unsigned'=>1),
array('table'=>'stg_sub2', 'field'=>'b2template',
'type'=>'varchar', 'length'=>30),
array('table'=>'haupt', 'field'=>'hschedule_on',
'type'=>'int', 'length'=>10, 'unsigned'=>1),
array('table'=>'haupt', 'field'=>'hschedule_off',
'type'=>'int', 'length'=>10, 'unsigned'=>1),
array('table'=>'sub', 'field'=>'sschedule_on',
'type'=>'int', 'length'=>10, 'unsigned'=>1),
array('table'=>'sub', 'field'=>'sschedule_off',
'type'=>'int', 'length'=>10, 'unsigned'=>1),
array('table'=>'sub2', 'field'=>'s2schedule_on',
'type'=>'int', 'length'=>10, 'unsigned'=>1),
array('table'=>'sub2', 'field'=>'s2schedule_off',
'type'=>'int', 'length'=>10, 'unsigned'=>1),
);
signature.asc
Description: OpenPGP digital signature
_______________________________________________ DBmail mailing list [email protected] http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail
