6 use Test::More tests => 4;
9 use SQL::Translator::Parser::SQLite;
10 use SQL::Translator::Diff;
13 ok my $version1 = SQL::Translator->new(from=>'SQLite')
16 "foo" INTEGER PRIMARY KEY NOT NULL,
17 "bar" VARCHAR(10) NOT NULL,
22 ok my $version2 = SQL::Translator->new(from=>'SQLite')
25 "foo" INTEGER PRIMARY KEY NOT NULL,
26 "bar" VARCHAR(10) NOT NULL,
32 ok my $upgrade_sql = SQL::Translator::Diff->new({
33 output_db => 'SQLite',
34 source_schema => $version1,
35 target_schema => $version2,
36 })->compute_differences->produce_diff_sql;
38 eq_or_diff($upgrade_sql, <<'## END OF DIFF', "Diff as expected");
39 -- Convert schema '' to '':;
43 CREATE TEMPORARY TABLE "Foo_temp_alter" (
44 "foo" INTEGER PRIMARY KEY NOT NULL,
45 "bar" VARCHAR(10) NOT NULL,
50 INSERT INTO "Foo_temp_alter"( "foo", "bar") SELECT "foo", "bar" FROM "Foo";
55 "foo" INTEGER PRIMARY KEY NOT NULL,
56 "bar" VARCHAR(10) NOT NULL,
61 INSERT INTO "Foo" SELECT "foo", "bar", "baz", "doomed" FROM "Foo_temp_alter";
63 DROP TABLE "Foo_temp_alter";