Improve trigger 'scope' attribute support (RT#119997)
[dbsrgits/SQL-Translator.git] / t / 72-sqlite-add-drop-fields.t
CommitLineData
1e54de2f 1#!/usr/bin/env perl
2
3use strict;
4use warnings;
5
6use Test::More tests => 4;
7use Test::Differences;
8use SQL::Translator;
9use SQL::Translator::Parser::SQLite;
10use SQL::Translator::Diff;
11
12
13ok my $version1 = SQL::Translator->new(from=>'SQLite')
14 ->translate(\<<SQL);
15CREATE TABLE "Foo" (
16 "foo" INTEGER PRIMARY KEY NOT NULL,
17 "bar" VARCHAR(10) NOT NULL,
18 "biff" VARCHAR(10)
19);
20SQL
21
22ok my $version2 = SQL::Translator->new(from=>'SQLite')
23 ->translate(\<<SQL);
24CREATE TABLE "Foo" (
25 "foo" INTEGER PRIMARY KEY NOT NULL,
26 "bar" VARCHAR(10) NOT NULL,
27 "baz" VARCHAR(10),
28 "doomed" VARCHAR(10)
29);
30SQL
31
32ok 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;
37
38eq_or_diff($upgrade_sql, <<'## END OF DIFF', "Diff as expected");
39-- Convert schema '' to '':;
40
41BEGIN;
42
2d23c1e1 43CREATE TEMPORARY TABLE Foo_temp_alter (
44 foo INTEGER PRIMARY KEY NOT NULL,
45 bar VARCHAR(10) NOT NULL,
46 baz VARCHAR(10),
47 doomed VARCHAR(10)
1e54de2f 48);
49
2d23c1e1 50INSERT INTO Foo_temp_alter( foo, bar) SELECT foo, bar FROM Foo;
1e54de2f 51
2d23c1e1 52DROP TABLE Foo;
1e54de2f 53
2d23c1e1 54CREATE TABLE Foo (
55 foo INTEGER PRIMARY KEY NOT NULL,
56 bar VARCHAR(10) NOT NULL,
57 baz VARCHAR(10),
58 doomed VARCHAR(10)
1e54de2f 59);
60
2d23c1e1 61INSERT INTO Foo SELECT foo, bar, baz, doomed FROM Foo_temp_alter;
1e54de2f 62
2d23c1e1 63DROP TABLE Foo_temp_alter;
1e54de2f 64
65
66COMMIT;
67
68## END OF DIFF
69