sub convert_schema { my ($name,$schema,$engine) = @_; my $schema2 = ''; my @lines = split "\n",$schema; for (@lines) { # CHANGES FOR ALL TABLES s#[\[\]]##g; # Remove brackets s/\)\n/\);\n/; # Add semicolon to end of table statement s/char \(/char(/; # Remove space between varchar and ( s/ ,/,/g; # Remove space before comma s/ varchar\(\d+\)/ text/ if (m/varchar\((\d+)\)/) and ($1 > 255); # Use "text" instead of "varchar(n)" if n > 255 s/\)$/\);/; s/ smalldatetime/ varchar(32)/g; # Trouble w/dbSNP dates, like "2000-08-25 17:02:00.0" - the .0 at the end. s/ datetime/ varchar(32)/g; s/ real/ float/g; s/ bit/ boolean/g; #### CREATE TABLE Allele ( allele_id int NOT NULL, allele varchar(255) NOT NULL, create_time varchar(32) NOT NULL, rev_allele_id int NULL, src varchar(10) NULL, last_updated_time varchar(32) NULL ) #### CREATE TABLE [Allele] ( [allele_id] [int] NOT NULL , [allele] [varchar] (255) NOT NULL , [create_time] [smalldatetime] NOT NULL , [rev_allele_id] [int] NULL , [src] [varchar] (10) NULL , [last_updated_time] [smalldatetime] NULL ) #### s/\)\n/\);\n/;