alasql
Version:
AlaSQL.js - JavaScript SQL database library for relational and graph data manipulation with support of localStorage, IndexedDB, and Excel
67 lines (54 loc) • 2.11 kB
JavaScript
if(typeof exports === 'object') {
var assert = require("assert");
var alasql = require('..');
};
describe('Test 48 - Check parser for primary and foreign keys', function() {
describe('PRIMARY KEY', function(){
it('1: COLUMN PRIMARY KEY', function(done){
alasql('DROP TABLE IF EXISTS one');
alasql('CREATE TABLE one (a INT PRIMARY KEY, b INT)');
done();
});
it('2: COLUMN PRIMARY KEY (MySQL style)', function(done){
alasql('DROP TABLE IF EXISTS one');
alasql('CREATE TABLE one (a INT, b INT, PRIMARY KEY (a))');
done();
});
it('3: PRIMARY KEY', function(done){
alasql('DROP TABLE IF EXISTS one');
alasql('CREATE TABLE one (a INT, b INT, CONSTRAINT keya PRIMARY KEY (a))');
done();
});
it('4: PRIMARY KEY', function(done){
alasql('DROP TABLE IF EXISTS one');
alasql('CREATE TABLE one (a INT, b INT, CONSTRAINT keyab PRIMARY KEY (a,b))');
done();
});
});
describe('FOREIGN KEY', function(){
it('1: FOREIGN KEY', function(done){
alasql('DROP TABLE IF EXISTS cities');
alasql('DROP TABLE IF EXISTS countries');
alasql('CREATE TABLE countries (country STRING PRIMARY KEY, b STRING)');
alasql('CREATE TABLE cities (city STRING, country STRING '+
' FOREIGN KEY REFERENCES countries(country))');
done();
});
it('2: FOREIGN KEY (MySQL style)', function(done){
alasql('DROP TABLE IF EXISTS cities');
alasql('DROP TABLE IF EXISTS countries');
alasql('CREATE TABLE cities (city STRING, country STRING, '+
' FOREIGN KEY (country) REFERENCES countries(country))');
alasql('CREATE TABLE countries (country STRING PRIMARY KEY, b STRING)');
done();
});
it('3: FOREIGN KEY (MySQL style)', function(done){
alasql('DROP TABLE IF EXISTS cities');
alasql('DROP TABLE IF EXISTS countries');
alasql('CREATE TABLE cities (city STRING, country STRING, '+
' CONSTRAINT keycountry FOREIGN KEY (country) REFERENCES countries(country))');
alasql('CREATE TABLE countries (country STRING PRIMARY KEY, b STRING)');
done();
});
});
});