Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #4093: recreate_fb_tables.sh

File recreate_fb_tables.sh, 1.4 kB (added by mlaster@metavillage.com, 2 years ago)

Script to rebuild unit test databases

Line 
1 #!/bin/sh
2
3 # Discover where the shell script resides
4 ORIGDIR=`pwd`                          # original directory (builtin)
5 PROGNAME=`type $0 | awk '{print $3}'`  # search for executable on path
6 PROGDIR=`dirname $PROGNAME`            # extract directory of program
7 PROGNAME=`basename $PROGNAME`          # base name of program
8 cd $PROGDIR                            # go to that directory
9 PROGDIR=`pwd`                          # remove any symbolic link parts
10
11
12 create_database()
13 {
14     DB_NAME=$1
15     SCRIPT_NAME=$2
16
17     /Library/FrontBase/bin/sql92 <<END
18 STOP DATABASE ${DB_NAME};
19 DELETE DATABASE ${DB_NAME};
20 CREATE DATABASE ${DB_NAME};
21
22 CONNECT TO ${DB_NAME} AS SESSION_NAME USER _SYSTEM;
23 SET COMMIT FALSE;
24
25 CREATE USER RAILS;
26 CREATE SCHEMA RAILS AUTHORIZATION RAILS;
27 COMMIT;
28
29 SET SESSION AUTHORIZATION RAILS;
30 SCRIPT '${SCRIPT_NAME}';
31
32 COMMIT;
33
34 DISCONNECT ALL;
35 END
36 }
37
38
39 create_database activerecord_unittest $PROGDIR/test/fixtures/db_definitions/frontbase.sql
40 create_database activerecord_unittest2 $PROGDIR/test/fixtures/db_definitions/frontbase2.sql
41 exit 0
42
43 /Library/FrontBase/bin/sql92 <<END
44 STOP DATABASE TEST;
45 DELETE DATABASE TEST;
46 CREATE DATABASE TEST;
47
48 CONNECT TO  TEST AS SESSION_NAME USER _SYSTEM;
49 SET COMMIT FALSE;
50
51 CREATE USER RAILS;
52 CREATE SCHEMA RAILS AUTHORIZATION RAILS;
53 COMMIT;
54
55 SET SESSION AUTHORIZATION RAILS;
56 SCRIPT '$PROGDIR/test/fixtures/db_definitions/frontbase.sql';
57
58 COMMIT;
59
60 disconnect all;
61 END
62