my $sqlt;
$sqlt = SQL::Translator->new(
no_comments => 1,
- show_warnings => 1,
+ show_warnings => 0,
add_drop_table => 1,
);
) or die $sqlt->error;
eq_or_diff($sql, << "SQL");
-
-
BEGIN TRANSACTION;
DROP TABLE Basic;
id INTEGER PRIMARY KEY NOT NULL,
title varchar(100) NOT NULL DEFAULT 'hello',
description text DEFAULT '',
- email varchar(255),
+ email varchar(500),
explicitnulldef varchar,
explicitemptystring varchar DEFAULT '',
-- Hello emptytagdef
timest timestamp
);
-CREATE INDEX titleindex_Basic ON Basic (title);
+CREATE INDEX titleindex ON Basic (title);
+
+CREATE UNIQUE INDEX emailuniqueindex ON Basic (email);
-CREATE UNIQUE INDEX emailuniqueindex_Basic ON Basic (email);
+CREATE UNIQUE INDEX very_long_index_name_on_title_field_which_should_be_truncated_for_various_rdbms ON Basic (title);
DROP TABLE Another;
CREATE TABLE Another (
- id INTEGER PRIMARY KEY NOT NULL
+ id INTEGER PRIMARY KEY NOT NULL,
+ num numeric(10,2)
);
DROP VIEW IF EXISTS email_list;
+
CREATE VIEW email_list AS
- SELECT email FROM Basic WHERE email IS NOT NULL;
+ SELECT email FROM Basic WHERE (email IS NOT NULL);
DROP TRIGGER IF EXISTS foo_trigger;
CREATE TRIGGER foo_trigger after insert on Basic BEGIN update modified=timestamp(); END;
+DROP TRIGGER IF EXISTS bar_trigger_insert;
+
+CREATE TRIGGER bar_trigger_insert before insert on Basic BEGIN update modified2=timestamp(); END;
+
+DROP TRIGGER IF EXISTS bar_trigger_update;
+
+CREATE TRIGGER bar_trigger_update before update on Basic BEGIN update modified2=timestamp(); END;
+
COMMIT;
SQL
eq_or_diff(\@sql,
[
- "\n\nBEGIN TRANSACTION",
+ 'BEGIN TRANSACTION',
'DROP TABLE Basic',
'CREATE TABLE Basic (
id INTEGER PRIMARY KEY NOT NULL,
title varchar(100) NOT NULL DEFAULT \'hello\',
description text DEFAULT \'\',
- email varchar(255),
+ email varchar(500),
explicitnulldef varchar,
explicitemptystring varchar DEFAULT \'\',
-- Hello emptytagdef
another_id int(10) DEFAULT \'2\',
timest timestamp
)',
- 'CREATE INDEX titleindex_Basic02 ON Basic (title)',
- 'CREATE UNIQUE INDEX emailuniqueindex_Basic02 ON Basic (email)',
+ 'CREATE INDEX titleindex ON Basic (title)',
+ 'CREATE UNIQUE INDEX emailuniqueindex ON Basic (email)',
+ 'CREATE UNIQUE INDEX very_long_index_name_on_title_field_which_should_be_truncated_for_various_rdbms ON Basic (title)',
'DROP TABLE Another',
'CREATE TABLE Another (
- id INTEGER PRIMARY KEY NOT NULL
+ id INTEGER PRIMARY KEY NOT NULL,
+ num numeric(10,2)
)',
- 'DROP VIEW IF EXISTS email_list;
-CREATE VIEW email_list AS
- SELECT email FROM Basic WHERE email IS NOT NULL',
+ 'DROP VIEW IF EXISTS email_list',
+ 'CREATE VIEW email_list AS
+ SELECT email FROM Basic WHERE (email IS NOT NULL)',
'DROP TRIGGER IF EXISTS foo_trigger',
'CREATE TRIGGER foo_trigger after insert on Basic BEGIN update modified=timestamp(); END',
- 'COMMIT'
+ 'DROP TRIGGER IF EXISTS bar_trigger_insert',
+ 'CREATE TRIGGER bar_trigger_insert before insert on Basic BEGIN update modified2=timestamp(); END',
+ 'DROP TRIGGER IF EXISTS bar_trigger_update',
+ 'CREATE TRIGGER bar_trigger_update before update on Basic BEGIN update modified2=timestamp(); END',
+ 'COMMIT',
+
], 'SQLite translate in list context matches');